Gibt es eine gute Möglichkeit, beim Projizieren von Elementen mit LINQ eine Indexspalte für den "automatischen Inkrement" -Stil (ab 1..x) bereitzustellen?
Als ein grundlegendes Beispiel suche ich nach der Indexspalte unten, um von 1 bis zur Anzahl der Elemente in der Liste zu gehen.
%Vor%Das Durchlaufen der Liste wäre die einfache Option, aber ich frage mich, ob es einen besseren Weg dafür gibt?
Dies ist mit LINQ-Ausdrücken nicht möglich. Sie können jedoch die folgende Erweiterungsmethode .Select
verwenden:
Sie können die Überladung von Select
verwenden, die die Bereitstellung des Index für die Projektion:
Beachten Sie, dass für diese Überladung kein Abfrageausdruck unterstützt wird. Wenn Sie die Werte tatsächlich aus einer Datenbank holen (es ist nicht klar, ob list
wirklich ein List<T>
ist), sollten Sie wahrscheinlich sicherstellen, dass Sie eine angemessene Reihenfolge haben, da die Ergebnisse sonst etwas willkürlich sind.
Tags und Links asp.net-mvc-3 c# linq linq-to-sql