Boa noite! Gostaria de saber como faço pra pegar o index do Array/Lista dentro do Foreach?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite! Gostaria de saber como faço pra pegar o index do Array/Lista dentro do Foreach?
Marcos,
O "for each" NÃO tem índice, somente o "for", mas é possível trapacear de várias formas...
... saiba como:
============================================
foreach with index [duplicate]
foreach com índice [duplicado]
MÉTODO DE EXTENSÃO:
public static void Each<T>(this IEnumerable<T> ie, Action<T, int> action)
{
var i = 0;
foreach (var e in ie) action(e, i++);
}
Outra forma:
foreach (var it in someCollection.Select((x, i) => new { Value = x, Index = i }) )
{
if (it.Index > SomeNumber) //
}
A forma mais "bobinha" de fazer:
int i = -1;
foreach (Widget w in widgets)
{
i++;
// do something
}
Outro exemplo de EXTENSÃO:
public struct EnumeratedInstance<T>
{
public long cnt;
public T item;
}
public static IEnumerable<EnumeratedInstance<T>> Enumerate<T>(this IEnumerable<T> collection)
{
long counter = 0;
foreach (var item in collection)
{
yield return new EnumeratedInstance<T>
{
cnt = counter,
item = item
};
counter++;
}
}
https://stackoverflow.com/questions/521687/foreach-with-index
============================================
Outros links interessantes:
============================================
Instruções de iteração – for, foreach, do e while
Artigo - 06/04/2023
A instrução foreach executa uma instrução ou um bloco de instruções para cada elemento em uma instância do tipo que implementa a interface System.Collections.IEnumerable ou System.Collections.Generic.IEnumerable, como mostra o seguinte exemplo:
https://learn.microsoft.com/pt-br/dotnet/csharp/language-reference/statements/iteration-statements
============================================
C# Foreach Loop
The foreach Loop
There is also a foreach loop, which is used exclusively to loop through elements in an array:
https://www.w3schools.com/cs/cs_foreach_loop.php
============================================
Se sua dúvida foi realmente respondida, por favor, não esqueça de fechar o tópico e se gostou da minha resposta me pontue, eu adoro este pontinhos!
[]'s,
Fabio I.