«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > C# подключить два метода данных в LINQ

C# подключить два метода данных в LINQ

Опубликовано в 2025-04-13
Просматривать:261

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

используйте C# linq для dataTable Connection

]

внутренние соединения объединяют строки из двух данных на основе общих ключей. Это полезно для таких задач, как слияние информации из разных таблиц или фильтрация данных на основе конкретных условий.

]

предположим, что у нас есть два данных, T1 и T2, поля следующие:

]
    ]
  • T1 (custid, colx, coly)
  • ]
  • T2 (custid, colz)
  • ]
]

нам нужно создать совместную таблицу TJ с следующими полями:

]
    ]
  • tj (custid, colx, colz, 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