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

LINQ を使用して C# で 2 つの DataTable の内部結合を実行する方法

Barbara Streisand
リリース: 2025-01-12 17:21:43
オリジナル
833 人が閲覧しました

How to Perform an Inner Join of Two DataTables in C# using LINQ?

DataTable の内部接続に C# LINQ を使用する

内部結合は、共通キーに基づいて 2 つの DataTable の行を結合します。これは、異なるテーブルからの情報をマージしたり、特定の条件に基づいてデータをフィルタリングしたりするタスクに役立ちます。

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

  • T1(CustID、ColX、ColY)
  • T2(CustID、ColZ)

次のフィールドを含むジョイント テーブル TJ を作成する必要があります:

  • TJ (CustID、ColX、ColY、ColZ)

LINQ を使用すると、CustID 列で内部結合を実行できます。

<code class="language-csharp">var results = from table1 in dt1.AsEnumerable()
              join table2 in dt2.AsEnumerable() on (int)table1["CustID"] equals (int)table2["CustID"]
              select new
              {
                  CustID = (int)table1["CustID"],
                  ColX = (int)table1["ColX"],
                  ColY = (int)table1["ColY"],
                  ColZ = (int)table2["ColZ"]
              };</code>
ログイン後にコピー

このクエリは、連結された列を含む一連の匿名オブジェクトを生成します。次に、結果を反復処理してコンソールに出力します。

<code class="language-csharp">foreach (var item in results)
{
    Console.WriteLine(String.Format("ID = {0}, ColX = {1}, ColY = {2}, ColZ = {3}", item.CustID, item.ColX, item.ColY, item.ColZ));
}</code>
ログイン後にコピー

このコードは次の出力を生成します:

<code>ID = 1, ColX = 11, ColY = 21, ColZ = 31
ID = 2, ColX = 12, ColY = 22, ColZ = 32
ID = 3, ColX = 13, ColY = 23, ColZ = 33
ID = 4, ColX = 14, ColY = 24, ColZ = 34
ID = 5, ColX = 15, ColY = 25, ColZ = 35</code>
ログイン後にコピー

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

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