说,我想检查来自Cell
的{{1}}中的Value
null
Row
是否为DataGridView
。 foreach
有效。
foreach (DataGridViewCell c in row.Cells)
{
if (c.Value == null)
{
e.Cancel = true;
MessageBox.Show("empty cell");
}
}
我尝试使用方法Any
来替换foreach
,但没有编译:
if(row.Cells.Any(c => c.Value == null))
{
e.Cancel = true;
MessageBox.Show("empty cell");
}
是否有支持方法Any
?
答案 0 :(得分:2)
你必须施展它们:
if (row.Cells.Cast<DataGridViewCell>().Any(c => c.Value == null)) {
// code...
}
DataGridViewCellCollection未指定泛型类型,因此需要强制转换。见Enumerable.Cast<TResult>
Method:
Cast(IEnumerable)方法允许通过提供必要的类型信息在非泛型集合上调用标准查询运算符。例如,ArrayList不实现IEnumerable,但通过在ArrayList对象上调用Cast(IEnumerable),可以使用标准查询运算符来查询序列。