Wie kann ich den aktuellen Zeilenindex im nächsten Beispiel wissen?
%Vor% Ich habe eine Art MiscUtil , die dabei helfen kann - SmartEnumerable
. Es ist ein dummer Name, aber es funktioniert :) Auf der Benutzungsseite finden Sie Details und wenn Mit C # 3 können Sie es noch einfacher machen:
Wenn Sie Linq verwenden können, können Sie dies folgendermaßen tun:
%Vor%Du tust es tatsächlich nicht. Eine der Schönheiten mit foreach ist, dass Sie nicht die zusätzlichen Code-Handling erhöhen und überprüft die Länge.
Wenn Sie Ihren eigenen Index haben möchten, müssten Sie so etwas tun
%Vor%Hey, es gibt einen viel schnelleren Weg, denke ich. Keine Iteration erforderlich! Deklarieren Sie zuerst eine statische Variable für das Friend RowID-Feld der DataRow:
%Vor%Dann müssen Sie nur Folgendes tun:
%Vor%Ich habe das nach dem Aussortieren oder Filtern nicht getestet. In meinem Fall muss ich das nicht tun, also funktioniert das.
Während die Antwort von LFSR richtig ist, bin ich mir ziemlich sicher, dass .IndexOf für fast jede Sammlung / Liste die Liste auflisten wird, bis sie die passende Zeile findet. Bei großen DataTables könnte dies langsam sein.
Es könnte besser sein, für (i = 0; i & lt; temptable.Rows.Count; i ++) {...} über die Tabelle. Auf diese Weise haben Sie den Index, ohne eine Find-the-Index-Steuer zu erheben.