Lordfire 309 Postado Dezembro 28, 2012 Share Postado Dezembro 28, 2012 Repetição controlada por contagem O C# nos dá 2 opções de estruturas para repetição controlada por contagem, isto é, a repetição ocorre de um ponto inicial até um ponto final definido antes de as iterações acontecerem, que são o for e o foreach. A diferença entre as duas é bastante simples: o for executa iterações de acordo com um contador e, a cada iteração, altera este contador, enquanto o foreach executa iterações de acordo com a quantidade de objetos em uma coleção. For http://pastebin.com/XFKkh0nY O for tem a seguinte sintaxe: "for (<tipo> <variável> = <valor inicial>; <condição para executar>; <ação para cada iteração>)". Assim, podemos concluir que foi usada uma variável inteira i, iniciada em 0, que aumenta em 1 a cada iteração (i++) e o for é executado enquanto i for menor ou igual a 10. Bastante semelhante ao while, neste caso o resultado são 11 linhas com os números de 0 a 10. Foreach http://pastebin.com/wjhb0A1S O foreach utiliza uma coleção qualquer, que pode ser um array (como neste caso), uma list ou uma collection. Ele conta automaticamente quantos objetos existem e faz uma iteração por cada, segundo a sintaxe: "foreach (<tipo> <variável> in <coleção>)". Note que não é necessário usar um contador ou uma condição, e o tipo DEVE ser igual ao dos objetos na coleção. O resultado neste caso é semelhante ao exemplo do for acima. Também é possível usar uma coleção com um for, mas é recomendável utilizar o foreach, que é mais seguro e simples: http://pastebin.com/tKwd6tap Porém, repare que, como o primeiro item de uma coleção é o de index 0, temos de executar o for enquanto o contador for menor ou igual o comprimento menos 1. Este for é exatamente igual ao exemplo do foreach. É possível fazer usos criativos do for. Você pode, por exemplo, ler arquivos em uma lista e, caso haja um erro, repetir o mesmo arquivo novamente: é possível alterar o contador DURANTE a iteração, assim basta você usar uma estrutura try-catch, diminuir o contador (i--) quando houver um erro e ler a mesma posição da lista novamente! Isso elimina a necessidade de um novo bloco de repetição apenas para tentar ler o arquivo novamente, como no caso do Delphi, que necessitaria de um repeat dentro do for. Há muitos tipos de coleções. Além do array básico, existem arrays multidimensionais (e sim, é possível usar um for dentro de outro!), há listas especializadas e coleções de objetos de diferentes tipos, basta explorar a IDE. Link para o comentário https://xtibia.com/forum/topic/202746-repeti%C3%A7%C3%A3o-for-e-foreach/ Compartilhar em outros sites More sharing options...
fredpadua 65 Postado Dezembro 28, 2012 Share Postado Dezembro 28, 2012 Muito bom LF Sem rep, pois ja dei no while e do/while . Continue postando sobre o C# Link para o comentário https://xtibia.com/forum/topic/202746-repeti%C3%A7%C3%A3o-for-e-foreach/#findComment-1425129 Compartilhar em outros sites More sharing options...
Posts Recomendados