Frage

Die Sprache, die ich verwende, ist C#.

Angenommen, wir haben eine Ienumerable, die das Ergebnis einer Linq -Abfrage ist. T ist ein anonymer Typ. Was ist der beste Weg, wenn wir auf die Elemente dieses Typs zugreifen möchten?

Ich denke, dass es zwei Möglichkeiten gibt.

1) Konvertieren Sie die IEnumerable in die Auflistung und greifen Sie dann auf die Elemente zu.

List<T> list = result.ToList();
for(int rowIndex=0; rowIndex<list.Count; rowIndex++)
{
    double x = list[rowIndex].val;
}

2)

for(int rowIndex=0; rowIndex<result.Count(); rowIndex++)
{
    double x = result.ElementAt(rowIndex).val;
} 

Der Grund, warum ich so etwas wie die oben genannten denke, ist, dass ich ihre Indizes benötige, außer dass ich auf die Elemente der Ienumerable zugreift. Mit anderen Worten, wenn ein Element das erste ist, das zweite usw.

Vielen Dank im Voraus für jede Hilfe!

War es hilfreich?

Lösung

Sie müssen keine Sammlung erstellen, verwenden Sie eine int Variable, die 0 ist und es in a erhöht foreach. Dann haben Sie den Index und das Element.

int index = 0;
foreach(var x in result)
{
    // x is the element and index the current index
    Console.WriteLine("Val:{0} Index:{1}", x.val, index);
    index ++;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top