2013-07-23 129 views
0

我有一個字符串列表(列表),其中包含分隔字段。一個例子是:Linq比較DataTable與列表<String>

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

我也有一個數據表,其中一個記錄要麼會或不會包含從字符串列表的第二和第三列中的值:

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

我想要做的是在DataTable中找到沒有對應值的任何記錄(通過Linq)。

我一直在谷歌搜索了一段時間,並不能找到正確的方式與Linq做到這一點......任何人都可以幫忙嗎?

回答

0

這段代碼應該給你指數的枚舉不具備相應的數據表中的值:

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; 

的基本思路是遍歷指標,以確保您對比相應的行和列表項彼此相關。一旦你這樣做了,解析列表項並進行適當的比較就足夠簡單了。