Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyertai Dua Jadual Data dengan Cekap dalam C# Menggunakan LINQ?

Bagaimana untuk Menyertai Dua Jadual Data dengan Cekap dalam C# Menggunakan LINQ?

Linda Hamilton
Lepaskan: 2025-01-12 17:43:45
asal
116 orang telah melayarinya

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

Gunakan LINQ untuk menyambungkan DataTable dengan cekap

Andaikan terdapat dua Jadual Data, T1 dan T2 masing-masing, dengan medan berikut:

<code>T1(CustID, ColX, ColY)

T2(CustID, ColZ)</code>
Salin selepas log masuk

Untuk mendapatkan gabungan DataTable "TJ" yang mengandungi medan "CustID", "ColX", "ColY" dan "ColZ" dengan cekap dalam C#, anda boleh menggunakan penyelesaian LINQ berikut:

<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>
Salin selepas log masuk

Kod ini menunjukkan cara menggunakan LINQ untuk membuat cantuman dalaman antara dua Jadual Data. Ia mencipta dua Jadual Data, mengisinya dengan data sampel (bahagian pengisian data ditinggalkan di sini), dan kemudian menggunakan pertanyaan LINQ untuk melaksanakan operasi gabungan. Keputusan sambungan akan dipaparkan dalam konsol (bahagian paparan hasil juga ditinggalkan di sini). Sila ambil perhatian bahawa pengisian data tambahan dan kod paparan keputusan diperlukan untuk berfungsi sepenuhnya.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Dua Jadual Data dengan Cekap dalam C# Menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan