LINQ full out join 实现

本文介绍如何使用LINQ解决CSDN上一网友关于全外连接的问题。通过示例数据dt1和dt2,展示如何得到包含所有id、price、excelprice组合的结果,即使在另一数据集中缺少对应项,也会填充为null。
摘要由CSDN通过智能技术生成

今天在CSDN上看到一网友提问,问题大意如下:

 

比如dt1数据是
id price
1 100
2 100

dt2
id excelprice
1 100
3 200


想要得出来的数据是:
id price excleprice
1 100 100
2 100 null
3 null 100

 

如何实现?

首先想到的实现方式是:

 

void Main()
{
    DataTable dtA = new DataTable();
        dtA.Columns.Add("id", typeof(int));
        dtA.Columns.Add("price", typeof(string));
        dtA.Rows.Add(1, "100");
        dtA.Rows.Add(2, "100");
     
    DataTable dtB = dtA.Clone();
        dtB.Rows.Add(1, "100"); 
        dtB.Rows.Add(3, "100");
 
    DataTable dtC = dtA.Clone();
        dtC.Columns.Add("price_excel");
  var fullJoinData =(from a in dtA.AsEnumerable()
                    join b in dtB.AsEnumerable()
                    on a.Field<int>("
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值