C# 此表达式会产生副作用,将不进行计算

C# 此表达式会产生副作用,将不进行计算,c#,linq,debugging,C#,Linq,Debugging,我在LINQ查询中遇到这个错误,我不知道为什么。当我运行时,表是空的,但当我添加一个断点时,结果就会生效,找到并完美地添加所有数据 private void GetSQLOraclelinqData() { var TstarData = GetTrackstarTruckData(); var M5Data = GetM5Data(); DataTable ComTable = new DataTable();

我在LINQ查询中遇到这个错误,我不知道为什么。当我运行时,表是空的,但当我添加一个断点时,结果就会生效,找到并完美地添加所有数据

    private void GetSQLOraclelinqData()
    {

        var TstarData = GetTrackstarTruckData();
        var M5Data = GetM5Data();

        DataTable ComTable = new DataTable();

        foreach (DataColumn OraColumn in M5Data.Columns)
        {
            ComTable.Columns.Add(OraColumn.ColumnName, OraColumn.DataType); 

        }
        foreach (DataColumn SQLColumn in TstarData.Columns)
        {
            if (SQLColumn.ColumnName == "VehicleName")
                ComTable.Columns.Add(SQLColumn.ColumnName + 2, SQLColumn.DataType);
            else
                ComTable.Columns.Add(SQLColumn.ColumnName, SQLColumn.DataType);

        }

        var results = TstarData.AsEnumerable().Join(M5Data.AsEnumerable(),
            a => a.Field<String>("VehicleName"),
            b => b.Field<String>("Unit_NO"),
                (a, b) =>
                {

                    DataRow row = ComTable.NewRow();
                    row.ItemArray = a.ItemArray.Concat(b.ItemArray).ToArray();
                    ComTable.Rows.Add(row);
                    return row;

                });

        SQLDataTable.ItemsSource = ComTable.DefaultView;
    }
private void GetSQLOraclelinqData()
{
var TstarData=GetTrackstarTruckData();
var M5Data=GetM5Data();
DataTable ComTable=新DataTable();
foreach(M5Data.Columns中的DataColumn或column)
{
ComTable.Columns.Add(OraColumn.ColumnName,OraColumn.DataType);
}
foreach(TstarData.Columns中的DataColumn SQLColumn)
{
如果(SQLColumn.ColumnName==“VehicleName”)
ComTable.Columns.Add(SQLColumn.ColumnName+2,SQLColumn.DataType);
其他的
添加(SQLColumn.ColumnName,SQLColumn.DataType);
}
var results=TstarData.AsEnumerable().Join(M5Data.AsEnumerable(),
a=>a.字段(“车辆名称”),
b=>b.字段(“单元号”),
(a,b)=>
{
DataRow row=ComTable.NewRow();
row.ItemArray=a.ItemArray.Concat(b.ItemArray.ToArray();
ComTable.Rows.Add(row);
返回行;
});
SQLDataTable.ItemsSource=ComTable.DefaultView;
}
像这样添加ToList:

var results = TstarData.AsEnumerable().Join(M5Data.AsEnumerable(),
            a => a.Field<String>("VehicleName"),
            b => b.Field<String>("Unit_NO"),
                (a, b) =>
                {

                    DataRow row = ComTable.NewRow();
                    row.ItemArray = a.ItemArray.Concat(b.ItemArray).ToArray();
                    ComTable.Rows.Add(row);
                    return row;

                }).ToList();
var results=TstarData.AsEnumerable().Join(M5Data.AsEnumerable(),
a=>a.字段(“车辆名称”),
b=>b.字段(“单元号”),
(a,b)=>
{
DataRow row=ComTable.NewRow();
row.ItemArray=a.ItemArray.Concat(b.ItemArray.ToArray();
ComTable.Rows.Add(row);
返回行;
}).ToList();

它成功了,谢谢你。我该如何关闭它并给你积分。这只是我来这里的第二天