Maison > développement back-end > C++ > Comment puis-je convertir efficacement un DataTable en une liste générique en C# ?

Comment puis-je convertir efficacement un DataTable en une liste générique en C# ?

Mary-Kate Olsen
Libérer: 2025-01-18 16:56:14
original
292 Les gens l'ont consulté

How Can I Efficiently Convert a DataTable to a Generic List in C#?

Transformer des DataTables en listes génériques en C#

Plusieurs méthodes existent pour convertir un DataTable en liste générique en C#. Une approche courante consiste à parcourir chaque ligne et à l'ajouter à la liste.

<code class="language-C#">DataTable dt = CreateDataTableInSomeWay();

List<DataRow> list = new List<DataRow>();
foreach (DataRow dr in dt.Rows)
{
    list.Add(dr);
}</code>
Copier après la connexion

Une méthode plus efficace : les méthodes d'extension

.NET 3.5 et versions ultérieures offrent une solution plus efficace en utilisant les méthodes d'extension de la classe DataTableExtensions. La méthode AsEnumerable() transforme le DataTable en un IEnumerable<DataRow>, qui peut ensuite être facilement converti en List<DataRow> à l'aide de ToList().

<code class="language-C#">IEnumerable<DataRow> sequence = dt.AsEnumerable();

// Or, more directly:
using System.Linq;
...
List<DataRow> list = dt.AsEnumerable().ToList();</code>
Copier après la connexion

Cette approche basée sur LINQ évite les boucles explicites, ce qui permet d'obtenir un code plus propre et potentiellement plus rapide.

Analyse des performances

Lors du choix d'une méthode de conversion, les performances sont essentielles. L'itération ligne par ligne peut être lente avec de grands DataTables. La combinaison des méthodes AsEnumerable() et ToList() offre généralement des performances supérieures grâce à sa mise en œuvre optimisée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal