c# - IEnumerable 对象是否需要空值检查?

标签 c# .net linq linq-to-objects

var selectedRows = from drow in ugTable.Rows
                         .Cast<Infragistics.Win.UltraWinGrid.UltraGridRow>()
                         .Where(drow => drow != null && drow.Selected) 
                   select drow;

if(selectedRows.Count()==1){//do something with selected rows}

根据上面的语句,我是否需要检查 selectedRows 的 Null 变量? selectedRows 是一个 IEnumerable 变量。

最佳答案

你不需要检查是否 selectedRowsnull .返回的 IEnumerable<>可能是空的,但它永远不会是 null .

顺便说一句,我建议您通过编写来简化代码:

var selectedRows
    = ugTable.Rows.Cast<Infragistics.Win.UltraWinGrid.UltraGridRow>()
                  .Where(drow => drow != null && drow.Selected);

哪个更短且等效。

关于c# - IEnumerable 对象是否需要空值检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5893191/

相关文章:

c# - Expression.DebugInfo 如何标记表达式?

.net - LINQ 和 .COUNT 超时

c# - AmyuniPDF 以错误的字体(特殊字符)打印 PDF 文档

.net - F# - 类型 int 与类型 unit 不兼容

c# - 如果你跳出 Lock() 语句会发生什么?

c# - 将 Select 方法用于动态查询和表达式树

c# - 在 Visual Studio 中一步重命名带有文件名的类

c# - 从 mvc Controller 中的 FormCollection 元素检索对象数组

c# - 如何将带有 2 个数据表的数据集发送到 Stimulsoft 报表

c# - 如何在 "Return"的 Moq 中设置输出参数 Mocked 的值?