DataTable の内部接続に C# LINQ を使用する
内部結合は、共通キーに基づいて 2 つの DataTable の行を結合します。これは、異なるテーブルからの情報をマージしたり、特定の条件に基づいてデータをフィルタリングしたりするタスクに役立ちます。
次のフィールドを持つ 2 つの DataTable T1 と T2 があるとします。
次のフィールドを含むジョイント テーブル TJ を作成する必要があります:
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 サイトの他の関連記事を参照してください。