我通过以下代码获取datarowview
DataRowView s = grdSampleData.GetRow(grdSampleData.FocusedRowHandle) as DataRowView;
我怎么能在这里检查s.Row.ItemArray中的所有值都是不同的。如果value为null或空字符串,则它应该跳过不同的性质,即ItemArray中可以有多个空值或空字符串,但没有其他相同的值。
答案 0 :(得分:1)
您可以使用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,如果是,则不明确。这里的例子不是明显的