清风小溪 2019-07-16 14:27 采纳率: 0%
浏览 474

两张表的内容用linq连接查询时,右表未空时,就会出现未将对象设置引用到对象实例

var query3 = from aa in dt44.AsEnumerable()
join zz in dt33.AsEnumerable()
on new
{
id1 = aa.Field("id")

                    }

                   equals new
                   {
                       id1 = zz.Field<string>("id")

                   } into xx
                     from hh in xx.DefaultIfEmpty()
                     select new
                     {
                         iform = aa,
                       inform2= hh

                     };



        DataTable dtcomb = new DataTable();
        dtcomb.Columns.Add("id");
        dtcomb.Columns.Add("shuliang");

        dtcomb.Columns.Add("mony");

        foreach (var obj in query3)
        {
            DataRow dr = dtcomb.NewRow();
            dr["id"] = obj.iform.ItemArray[0];
            dr["数量"] = obj.iform.ItemArray[1];
            //dr["mony"] = obj.inform2.ItemArray[0];

            if (obj.inform2.ItemArray[1]==null)
            {
                dr["mony"] = 0;
            }
            else
            {
                dr["mony"] = obj.inform2.ItemArray[1];
            }


            dtcomb.Rows.Add(dr);
        }

                ![图片说明](https://img-ask.csdn.net/upload/201907/16/1563258400_827981.png)


                    请高手指教!!!!
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-07-16 18:21
    关注

    if ( obj.inform2.ItemArray[0]==null )
    {
    dr["3DMIMO站点告警数量"] = 0;
    }
    ->
    if ( obj.inform2 == null || obj.inform2.ItemArray == null || obj.inform2.ItemArray[0]==null )
    {
    dr["3DMIMO站点告警数量"] = 0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站