Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melakukan Gabungan Dalaman Dua Jadual Data dalam C# menggunakan LINQ?

Bagaimana untuk Melakukan Gabungan Dalaman Dua Jadual Data dalam C# menggunakan LINQ?

Barbara Streisand
Barbara Streisandasal
2025-01-12 17:21:43836semak imbas

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

Menggunakan C# LINQ untuk sambungan dalaman DataTable

Inner joins menggabungkan baris daripada dua Jadual Data berdasarkan kunci biasa. Ini berguna untuk tugas seperti menggabungkan maklumat daripada jadual berbeza atau menapis data berdasarkan kriteria tertentu.

Andaikan kita mempunyai dua Jadual Data, T1 dan T2, dengan medan berikut:

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

Kita perlu mencipta jadual bersama TJ yang mengandungi medan berikut:

  • TJ (CustID, ColX, ColY, ColZ)

Menggunakan LINQ, kita boleh melakukan cantuman dalaman pada lajur 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>

Pertanyaan ini menjana urutan objek tanpa nama yang mengandungi lajur bercantum. Kami kemudiannya boleh mengulangi keputusan dan mengeluarkannya ke konsol:

<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>

Kod ini akan menghasilkan output berikut:

<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>

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Gabungan Dalaman Dua Jadual Data dalam C# menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn