检查datarowview.row.itemarray中除空字符串以外的其他值

时间:2013-03-19 09:41:54

标签: c# datarowview

我通过以下代码获取datarowview

DataRowView s = grdSampleData.GetRow(grdSampleData.FocusedRowHandle) as DataRowView;

我怎么能在这里检查s.Row.ItemArray中的所有值都是不同的。如果value为null或空字符串,则它应该跳过不同的性质,即ItemArray中可以有多个空值或空字符串,但没有其他相同的值。

1 个答案:

答案 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,如果是,则不明确。这里的例子不是明显的