Linq将DataTable与List <string> </string>进行比较

时间:2013-07-23 13:44:02

标签: linq data-structures

我有一个包含分隔字段的字符串列表(List)。一个例子是:

List[0] = "7/1/2013,ABC,123456"
List[1] = "7/2/2013,DEF,234567"

我还有一个DataTable,其中一条记录将包含或不包含String List中第二和第三列的值:

实施例

Row[0][0]="ABC"   <-----String
Row[0][1]=123456  <-----Int32

我想要做的是在DataTable中找到没有字符串列表中相应值的任何记录(通过Linq)。

我已经谷歌搜索了一段时间,并且找不到与Linq这样做的正确方法......任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

此代码段应该为您提供没有相应DataTable值的索引的枚举:

var correspondingRecords =
  from index in Enumerable.Range(0, List.Count)
  let items = List[index].Split(',')
  where !(item[1] == Row[index][0] && item[2] == Row[index][1])
  select index;

基本思想是迭代索引,以确保您将相应的行和列表项相互比较。一旦你这样做,它就足够简单地解析列表项并进行适当的比较。