ホームページ > バックエンド開発 > C++ > C# で DataTable を汎用リストに効率的に変換するにはどうすればよいですか?

C# で DataTable を汎用リストに効率的に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-18 16:56:14
オリジナル
290 人が閲覧しました

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

C# で DataTable を汎用リストに変換する

C# には、DataTable を汎用リストに変換するためのメソッドがいくつか存在します。 一般的なアプローチには、各行を反復処理してリストに追加することが含まれます。

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

List<DataRow> list = new List<DataRow>();
foreach (DataRow dr in dt.Rows)
{
    list.Add(dr);
}</code>
ログイン後にコピー

より効率的な方法: 拡張メソッド

.NET 3.5 以降のバージョンでは、DataTableExtensions クラスの拡張メソッドを使用したより効率的なソリューションが提供されます。 AsEnumerable() メソッドは DataTable を IEnumerable<DataRow> に変換します。これは、List<DataRow>.ToList() を使用して簡単に

に変換できます。
<code class="language-C#">IEnumerable<DataRow> sequence = dt.AsEnumerable();

// Or, more directly:
using System.Linq;
...
List<DataRow> list = dt.AsEnumerable().ToList();</code>
ログイン後にコピー

この LINQ ベースのアプローチにより、明示的なループが回避され、コードがよりクリーンになり、より高速になる可能性があります。

パフォーマンス分析

変換方法を選択するときは、パフォーマンスが重要です。 DataTable が大きい場合、行ごとの反復が遅くなる可能性があります。 AsEnumerable()ToList() メソッドの組み合わせは、実装が最適化されているため、一般に優れたパフォーマンスを提供します。

以上がC# で DataTable を汎用リストに効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート