Heim > Backend-Entwicklung > C++ > Wie kann ich Listen effizient in DataTables in .NET konvertieren?

Wie kann ich Listen effizient in DataTables in .NET konvertieren?

Susan Sarandon
Freigeben: 2025-01-30 21:51:12
Original
607 Leute haben es durchsucht

How Can I Efficiently Convert Lists to DataTables in .NET?

<.> In der .NET wurde die Liste in eine Datentabelle konvertiert

in der .NET -Entwicklung ist die Konvertierung von generischen Listen in Datentabellen eine häufige Nachfrage. Im Folgenden wird Fastmember verwendet, um diesen Vorgang zu implementieren:

Die Meta -Programmierungs -API von Fastmember hat diesen Prozess optimiert, um eine maximale Leistung zu erzielen. Sie können ein bestimmtes Mitglied angeben, das Sie einschließen möchten:

<code class="language-csharp">using FastMember;

IEnumerable<sometype> data = ...;
DataTable table = new DataTable();
using (var reader = ObjectReader.Create(data))
{
    table.Load(reader);
}</code>
Nach dem Login kopieren

Alternative Methode

<code class="language-csharp">using FastMember;

IEnumerable<sometype> data = ...;
DataTable table = new DataTable();
using (var reader = ObjectReader.Create(data, "Id", "Name", "Description"))
{
    table.Load(reader);
}</code>
Nach dem Login kopieren

Reflexion

Um die Leistung zu verbessern, können Sie Hyperdescriptor aktivieren:

Bitte beachten Sie, dass die obigen Codefragmente nur als Referenz dienen und die tatsächliche Anwendung möglicherweise entsprechend der spezifischen Situation angepasst werden muss. Die ausgewählte Methode hängt von Ihren Leistungsanforderungen und den Präferenzen der Codekomplexität ab. Fastmember funktioniert in der Regel in Bezug auf die Leistung besser, und die Reflexionsmethode ist leichter zu verstehen und zu warten, aber die Leistung kann niedriger sein.
<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++)
        {
            PropertyDescriptor prop = props[i];
            row[i] = prop.GetValue(item);
        }
        table.Rows.Add(row);
    }
    return table;
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Listen effizient in DataTables in .NET konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage