2017-08-06 137 views
-1

我想刪除Checksum列中有0或Null的任何行。根據列標準刪除

我只能讓頌歌工作,如果我有兩種:

completeDT_memo.AsEnumerable().Where(r => r.Field<string>("dcChecksum") == "0").ToList().ForEach(row => row.Delete()); 

或:

completeDT_memo.AsEnumerable().Where(r => r.Field<string>("dcChecksum") == null).ToList().ForEach(row => row.Delete()); 

如果我試圖讓他們都工作,腳本拋出異常。

你可以說是最好的海灣,使這項工作在一起。

感謝

+0

後拋出異常代碼 –

+0

其中必須是一個布爾值的結果。所以,也許你可以試試這個:.Where(r => string.IsNullOrEmpty(r.Field (「dcChecksum」)) –

+0

請解釋你的環境是什麼,並添加關於你的錯誤的細節 –

回答

1

我認爲問題是,該異常將被拋出,因爲你嘗試檢查r.Field<string>("dcChecksum")等於"0",而這是null。所以你有以下幾種選項可以首先檢查,r.Field<string>("dcChecksum")是否爲null

completeDT_memo.AsEnumerable().Where(r => string.IsNullOrEmpty(r.Field<string>("dcChecksum"))).ToList().ForEach(row => row.Delete()); 

completeDT_memo.AsEnumerable().Where(r => (r.Field<string>("dcChecksum") == null) ? true : r.Field<string>("dcChecksum") == "0").ToList().ForEach(row => row.Delete()); 
+1

你的第二個代碼在這裏看起來像點我會試一試:),我會讓你知道我是如何去的。謝謝 – Infost