0

我通过以下代码获取datarowview

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

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

4

1 回答 1

1

您可以使用 LINQGroupBy来检查不同的:

 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,如果是,则它不是不同的。这里的例子并不明显

于 2013-03-19T09:52:27.660 回答