Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyertai Dua Jadual Data dengan Cekap dalam C# Menggunakan 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>
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>
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!