ホームページ > バックエンド開発 > C++ > LINQ を使用して C# で 2 つの DataTable を効率的に結合する方法

LINQ を使用して C# で 2 つの DataTable を効率的に結合する方法

Linda Hamilton
リリース: 2025-01-12 17:43:45
オリジナル
116 人が閲覧しました

How to Efficiently Join Two DataTables in C# Using LINQ?

LINQ を使用して DataTable を効率的に接続する

それぞれ次のフィールドを持つ 2 つの DataTable T1 と T2 があるとします。

<code>T1(CustID, ColX, ColY)

T2(CustID, ColZ)</code>
ログイン後にコピー

C# で「CustID」、「ColX」、「ColY」、「ColZ」フィールドを含む結合された DataTable "TJ" を効率的に取得するには、次の LINQ ソリューションを使用できます。

<code class="language-csharp">DataTable dt1 = new DataTable();
dt1.Columns.Add("CustID", typeof(int));
dt1.Columns.Add("ColX", typeof(int));
dt1.Columns.Add("ColY", typeof(int));

DataTable dt2 = new DataTable();
dt2.Columns.Add("CustID", typeof(int));
dt2.Columns.Add("ColZ", typeof(int));

// ... (此处应添加填充dt1和dt2数据的代码) ...


var query = from table1 in dt1.AsEnumerable()
            join table2 in dt2.AsEnumerable() on table1["CustID"] equals table2["CustID"]
            select new
            {
                CustID = table1["CustID"],
                ColX = table1["ColX"],
                ColY = table1["ColY"],
                ColZ = table2["ColZ"]
            };

DataTable TJ = new DataTable();
TJ.Columns.Add("CustID", typeof(int));
TJ.Columns.Add("ColX", typeof(int));
TJ.Columns.Add("ColY", typeof(int));
TJ.Columns.Add("ColZ", typeof(int));

foreach (var item in query)
{
    TJ.Rows.Add(item.CustID, item.ColX, item.ColY, item.ColZ);
}

// ... (此处应添加显示TJ DataTable内容的代码) ...</code>
ログイン後にコピー

このコードは、LINQ を使用して 2 つの DataTable 間で内部結合を行う方法を示しています。 2 つの DataTable を作成し、それらにサンプル データを入力し (データ入力部分はここでは省略します)、LINQ クエリを使用して結合操作を実行します。接続結果がコンソールに表示されます(結果表示部分もここでは省略しています)。 完全に機能するには、追加のデータ入力および結果表示コードが必要であることに注意してください。

以上がLINQ を使用して C# で 2 つの DataTable を効率的に結合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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