Datentabellen in generische Listen in C# umwandeln
Es gibt mehrere Methoden zum Konvertieren einer DataTable in eine generische Liste in C#. Ein gängiger Ansatz besteht darin, jede Zeile zu durchlaufen und sie der Liste hinzuzufügen.
<code class="language-C#">DataTable dt = CreateDataTableInSomeWay(); List<DataRow> list = new List<DataRow>(); foreach (DataRow dr in dt.Rows) { list.Add(dr); }</code>
Eine effizientere Methode: Erweiterungsmethoden
.NET 3.5 und spätere Versionen bieten eine effizientere Lösung mit Erweiterungsmethoden aus der Klasse DataTableExtensions
. Die AsEnumerable()
-Methode wandelt die DataTable in eine IEnumerable<DataRow>
um, die dann einfach mit List<DataRow>
.ToList()
in eine
<code class="language-C#">IEnumerable<DataRow> sequence = dt.AsEnumerable(); // Or, more directly: using System.Linq; ... List<DataRow> list = dt.AsEnumerable().ToList();</code>
Dieser LINQ-basierte Ansatz vermeidet explizite Schleifen, was zu saubererem und möglicherweise schnellerem Code führt.
Leistungsanalyse
Bei der Auswahl einer Konvertierungsmethode ist die Leistung entscheidend. Bei großen Datentabellen kann die zeilenweise Iteration langsam sein. Die Methodenkombination AsEnumerable()
und ToList()
bietet aufgrund ihrer optimierten Implementierung im Allgemeinen eine überlegene Leistung.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Datentabelle in C# effizient in eine generische Liste konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!