C# Medium High -Effizienz, wobei die generische Liste in DataTable
konvertiert wird In der Softwareentwicklung sind die Daten häufig im strukturierten Format erforderlich. DataTable ist eine gemeinsame Datenstruktur, die Datenformulare bereitstellt. Sie können jedoch auf die Situation stoßen, in der die Daten, die verarbeitet werden müssen, in der generischen Liste oder einem Aufzählungsobjekt gespeichert sind. In diesem Fall ist eine Methode erforderlich, um die Liste oder das zugängliche Objekt in DataTable zu konvertieren.
durchzuführen Sie können die Fastmember -Bibliothek auf Nuget verwenden, um eine effiziente und bequeme Lösung zu erhalten. Mit Fastmember können Sie den folgenden Code verwenden, um die Konvertierung auszuführen:
Custom Conversion Realisierung
<code class="language-csharp">IEnumerable<sometype> data = ...; DataTable table = new DataTable(); using (var reader = ObjectReader.Create(data)) { table.Load(reader); }</code>
Wenn Sie die benutzerdefinierte Konvertierungsmethode bevorzugen, können Sie die HyperDescriptor -Funktion in Reflection oder .NET 2.0 verwenden, um DataTable aus der Liste zu erstellen. Dies ist eine Beispielimplementierung:
Leistungsvorkehrungen
<code class="language-csharp">public static DataTable ToDataTable<T>(this IList<T> data) { PropertyDescriptorCollection props = TypeDescriptor.GetProperties(typeof(T)); DataTable table = new DataTable(); for (int i = 0; i < props.Count; i++) { PropertyDescriptor prop = props[i]; table.Columns.Add(prop.Name, prop.PropertyType); } foreach (T item in data) { DataRow row = table.NewRow(); for (int i = 0; i < props.Count; i++) { row[i] = props[i].GetValue(item); } table.Rows.Add(row); } return table; }</code>
Schlussfolgerung
Das Konvertieren der generischen Liste oder eines Enumerationsobjekts in DataTable ist eine gemeinsame Aufgabe in der C# -Programmierung. Durch die Nutzung der Fastmember -Bibliothek oder die Erkenntnis einer benutzerdefinierten Konvertierung können Entwickler diese Conversion effizient implementieren.
Das obige ist der detaillierte Inhalt vonWie kann man eine generische Liste effizient in ein DataTable in C#konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!