如何判断FOREACH迭代变量是否为空?

时间:2014-08-27 08:13:48

标签: c# wpf foreach iteration

我有一个foreach循环。

foreach(var item in dataGrid)
        {


        }

我需要判断" item"为null,因为当item为null时,我得到一个NullReferenceException。注意:我的目的不是判断" dataGrid",因为出于某些原因,这个" dataGrid"在我的程序中永远不会为null(当它实际为null或1时,其值为1),但" item"当" dataGrid"时可以为null实际上是空的。

实际问题 - 如何判断项目是否为空?

3 个答案:

答案 0 :(得分:6)

您可以使用Where消除 null 项:

foreach(var item in dataGrid.Where(x => x != null))

答案 1 :(得分:1)

foreach(var item in dataGrid)
    {
        if(item == null) continue;

        // do your work here...
    }

答案 2 :(得分:0)

你可以在for循环中使用IF语句简单地检查它。

foreach(var item in dataGrid) {
    if (item == null) {
        // Do something, throw exception, continue, whatever...
    } else {
        // Do something useful with item...
    }
}