Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Index do array no Foreach

Boa noite! Gostaria de saber como faço pra pegar o index do Array/Lista dentro do Foreach?

1 resposta
solução!

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.