lambda表达式中的不同计数给出一个额外的计数

时间:2017-05-25 12:22:28

标签: c# linq

我正试图从列中获取不同的值 以下是我正在使用的代码

int NewDivision = dt
  .AsEnumerable()
  .Select(i => i.Field<string>("ParentName"))
  .Distinct()
  .Count();

dt是一个DataTable,它有9个不同的值,但它显示为10 我通过将数据导入Excel工作表手动检查数据,看看这里 enter image description here

是否还将空白作为值?
另外,当我只选择空白时,数据中没有一行

1 个答案:

答案 0 :(得分:3)

如果问题是这样,那么您可以将DistinctStringComparer.CurrentCultureIgnoreCase

一起使用
int NewDivision = dt
  .AsEnumerable()
  .Select(i => i.Field<string>("ParentName"))
  .Distinct(StringComparer.CurrentCultureIgnoreCase)
  .Count();