LINQ中的动态搜索条件和选择-C#

时间:2019-07-05 11:50:00

标签: c# .net linq

Where子句和Select子句可以是动态的。

我有以下代码,该代码对于静态列运行良好

var q = (from a in Parse_CSV(@"fileName1").AsEnumerable()
                     join b in Parse_CSV(@"fileName2").AsEnumerable()
                       on a.Field<string>(0) equals b.Field<string>(0)
                     where a.Field<string>(1) != b.Field<string>(1) ||
                           a.Field<string>(2) != b.Field<string>(2)
                     select new
                     {                            
                         col1 = a.Field<string>(0),
                         col2 = a.Field<string>(1) == b.Field<string>(1) ?
                                        "0" : a.Field<string>(1),
                         col3 = a.Field<string>(2) == b.Field<string>(2) ?
                                        "0" : a.Field<string>(2)
                     }).ToList();

我该如何更改

  1. 在where列中, a.Field(x)-> x从1到长度。在

  2. 选择列, col1 = a.Field(0)-> col1直到...长度

在运行时长度是已知数字

0 个答案:

没有答案