很容易知道哪些方法在.NET Framework中返回null

时间:2012-07-19 12:49:31

标签: c# null null-check

我希望能够知道哪些方法从.NET Framework返回null。

例如;当我从IQueryable调用搜索方法时,如果搜索未找到任何结果,则会返回null或空集合。

我们学习了一些方法,但是当涉及新方法时,我总是编写额外的代码行,这使代码更难以阅读。

有一种简单的方法可以解决这个问题吗?

编辑:

我总是遇到这个问题是这样的:

List<int> ints = new List<int>(); // Suppose this is a list full of data

// I wanna make sure that FindAll does not return null
// So getting .Count does not throw null reference exception
int numOfPositiveInts = ints.FindAll(i => i > 0).Count;

// This is not practical, but ensures against null reference return
int numOfPositiveInts = ints.FindAll(i => i > 0) != null ? ints.FindAll(i => i > 0).Count : 0;

第一个选项是实用的但不安全,而第二个选项可以防止任何空引用异常,但会降低可读性。

感谢。

1 个答案:

答案 0 :(得分:1)

安装Code Contracts时,会安装辅助程序集,为大多数核心库提供合同。有一个编辑器插件以IntelliSense风格显示它们。