我通过以下代码获得datarowview
DataRowView s = grdSampleData.GetRow(grdSampleData.FocusedRowHandle) as DataRowView;
我如何在这里检查s.r row . itemarray中的所有值是不同的。如果value为null或空字符串,它应该跳过不同的性质,即ItemArray中可以有多个空值或空字符串,但没有其他相同的值
您可以使用LINQ GroupBy
来检查不同:
bool flag = s.row.ItemArray.Where(x => x != null)
.Where(x => (x is string) && !string.IsNullOrEmpty((string) x))
.GroupBy(x => x).Any(g => g.Count() > 1);
工作原理:
为了简化,假设你的项目数组有:[1,1,3,3]。GroupBy(x => x)
将把你的数组分成两组:
[ [1, 1], [3, 3] ]
要知道是否不同,只需检查是否有任何组具有Count
> 1,如果是,则不不同。这里的例子是不明显的