"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > C# قم بتوصيل طريقتين قابلتين للقرصين في LINQ

C# قم بتوصيل طريقتين قابلتين للقرصين في LINQ

نشر في 2025-04-13
تصفح:763

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

استخدم C# linq للتوصيل القابل للقرص

inner inner الجمع بين خطوط من datatables استنادا إلى مفاتيح مشتركة. هذا مفيد للمهام مثل دمج المعلومات من جداول مختلفة أو تصفية البيانات بناءً على شروط محددة.

افترض أن لدينا datatables ، T1 و T2 ، الحقول هي كما يلي:

  • T1 (Custid ، Colx ، Coly)
  • T2 (Custid ، Colz)

نحتاج إلى إنشاء جدول مشترك TJ مع الحقول التالية:

  • TJ (Custid ، Colx ، Coly ، Colz)

باستخدام LINQ ، يمكننا تنفيذ الانضمام داخل العمود custid:

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