Utilisez LINQ pour connecter efficacement DataTable
Supposons qu'il existe deux DataTables, T1 et T2 respectivement, avec les champs suivants :
<code>T1(CustID, ColX, ColY) T2(CustID, ColZ)</code>
Afin d'obtenir efficacement un DataTable "TJ" combiné contenant les champs "CustID", "ColX", "ColY" et "ColZ" en C#, vous pouvez utiliser la solution LINQ suivante :
<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>
Ce code montre comment utiliser LINQ pour effectuer une jointure interne entre deux DataTables. Il crée deux DataTables, les remplit avec des exemples de données (la partie de remplissage des données est omise ici), puis utilise une requête LINQ pour effectuer l'opération de jointure. Les résultats de la connexion seront affichés dans la console (la partie affichage des résultats est également omise ici). Veuillez noter que des données supplémentaires et un code d'affichage des résultats sont nécessaires pour fonctionner pleinement.
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!