2010-05-07 67 views
0

我有一個有很多NULL或「」字符串的數據表。接下來,我將類型數據錶轉換爲列表。 現在,如果我想過濾這個列表中的條件並得到結果值(沒有NULL或String.Empty或「」記錄)我該怎麼辦?篩選條件在列表(C#3.0)上無法正常工作

我的代碼

DataTableExtensions.AsEnumerable(dt).ToList().ForEach(i => 
       { 
        if (i[0] != null) 
        { 
         if ((i[0].ToString() != string.Empty)|| (i[0].ToString() != " ")) 
         { 
          list = dt.AsEnumerable().ToList(); 
         } 
        } 

       }); 

但我得到的所有記錄。它沒有被過濾。

使用C#3.0

請幫 感謝

回答

2

你在看我[0],所以我會認爲你只是在你的表的第一列感興趣:

var rows = dt.AsEnumerable() 
      .Where(r => !r.IsNull(0) // check for DBNull 
       && r[0] != null 
       && r[0].ToString().Trim().Length > 0) 
      .ToList(); 

因此,查看每一行,但只返回第一列有值並且該字符串值不爲空或空白的行。