Heim >Backend-Entwicklung >C++ >Wie kann ich generische Listen effizient in DataTables in .NET konvertieren?
Das DataTable
In .NET können Sie auf eine Szene stoßen, in der die generische Liste oder das aufzählige Objekt in das DataTable -Objekt konvertiert werden muss. Obwohl es keine statische Methode erstellt hat, kann diese Konvertierung durchgeführt werden und mehrere Methoden können verwendet werden.
In der Version .NET Framework 4.5 oder höher können Sie die Fastmember -Bibliothek in Nuget verwenden. Diese Bibliothek liefert Hochleistungs -Meta -Programmierfunktionen:
<code class="language-csharp">using FastMember; using System.Data; IEnumerable<sometype> data = ...; DataTable table = new DataTable(); using (var reader = ObjectReader.Create(data)) { table.Load(reader); }</code>
<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>Diese Funktion kann jede generische Liste aufrufen, um ein DataTable basierend auf einem Listenobjektattribut zu generieren.
Leistungsvorkehrungen
Das obige ist der detaillierte Inhalt vonWie kann ich generische Listen effizient in DataTables in .NET konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!