0

次のコードでdatarowviewを取得しています

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

ここで、s.Row.ItemArray のすべての値が異なることを確認するにはどうすればよいですか。値が 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)アレイを 2 つのグループにグループ化します。

[ [1, 1], [3, 3] ]

それが異なるかどうかを知るには、グループがCount1 より大きいかどうかを確認します。そうであれば、それは明確ではありません。ここの例は明確ではありません

于 2013-03-19T09:52:27.660 に答える