Far*_*hid 2 c# linq distinct-values
基于这个问题:
[如何使用LINQ进行SELECT UNIQUE?
我编写了下面的表达式来OrganizationID从dt包含多列的数据表中选择具有唯一列的行.
var distinctRows = (from DataRow dRow in dt.Rows
select new { col1 = dRow["OrganizationID_int"] }).Distinct();
Run Code Online (Sandbox Code Playgroud)
但是当我distinctRows在执行表达式后检查时,它只有1列(col1)的记录而不是整个列.我担心添加类似于col2=...等的表达式可能会被解释为我希望在所有这些列上选择distinct.
那么如何在仅在1列而不是整列上应用唯一过滤器时获得整行?
我想要所有列满足唯一条件的整行.我想在下一步中进行迭代.
因此,您不希望按该字段分组并返回多行中的一行.您只需要唯一的行.
一种方法是使用Enumerable.GroupBy和计算每组中的行:
var uniqueRows = dt.AsEnumerable()
.GroupBy(r => r.Field<int>("OrganizationID_int"))
.Where(g => g.Count() == 1)
.Select(g => g.First());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11776 次 |
| 最近记录: |