「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > c#linqで2つのデータテーブルメソッドを接続します

c#linqで2つのデータテーブルメソッドを接続します

2025-04-13に投稿されました
ブラウズ:839

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

datatable接続にc#linqを使用します

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

2つのデータテーブル、T1とT2があると仮定します。フィールドは次のとおりです。

  • T1(Custid、Colx、Coly)
  • T2(Custid、colz)

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

  • TJ(Custid、Colx、Coly、Colz)

linqを使用して、保管列でイントラ接続を実行できます:

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"]
              };

このクエリは、接続された列を含む匿名オブジェクトのシーケンスを生成します。その後、結果を繰り返してコンソールに出力できます。

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));
}

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

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
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3