Maison > développement back-end > C++ > Comment effectuer une jointure interne de deux DataTables en C# à l'aide de LINQ ?

Comment effectuer une jointure interne de deux DataTables en C# à l'aide de LINQ ?

Barbara Streisand
Libérer: 2025-01-12 17:21:43
original
886 Les gens l'ont consulté

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

Utilisation de C# LINQ pour la connexion interne DataTable

Les jointures internes combinent les lignes de deux DataTables en fonction d'une clé commune. Ceci est utile pour des tâches telles que la fusion d'informations de différentes tables ou le filtrage de données en fonction de critères spécifiques.

Supposons que nous ayons deux DataTables, T1 et T2, avec les champs suivants :

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

Nous devons créer une table commune TJ contenant les champs suivants :

  • TJ (CustID, ColX, ColY, ColZ)

En utilisant LINQ, nous pouvons effectuer une jointure interne sur la colonne 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>
Copier après la connexion

Cette requête génère une séquence d'objets anonymes contenant les colonnes concaténées. Nous pouvons ensuite parcourir les résultats et les afficher sur la console :

<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>
Copier après la connexion

Ce code produira le résultat suivant :

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal