首页 > 后端开发 > C++ > 如何在 C# 中使用 LINQ 高效连接两个数据表?

如何在 C# 中使用 LINQ 高效连接两个数据表?

Linda Hamilton
发布: 2025-01-12 17:43:45
原创
118 人浏览过

How to Efficiently Join Two DataTables in C# Using LINQ?

利用LINQ高效连接DataTable

假设有两个DataTable,分别为T1和T2,字段如下:

<code>T1(CustID, ColX, ColY)

T2(CustID, ColZ)</code>
登录后复制

为了在C#中高效地获取一个包含"CustID"、"ColX"、"ColY"和"ColZ"字段的组合DataTable "TJ",可以使用以下LINQ解决方案:

<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>
登录后复制

这段代码演示了如何使用LINQ在两个DataTable之间进行内连接。它创建了两个DataTable,并用示例数据填充它们(此处省略了数据填充部分),然后使用LINQ查询进行连接操作。连接的结果将显示在控制台中(此处也省略了结果显示部分)。 请注意需要补充数据填充和结果展示的代码才能完整运行。

以上是如何在 C# 中使用 LINQ 高效连接两个数据表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板