你调用的对象是空的。

这个问题在这里已经有了答案:

  • 什么是NullReferenceException,以及如何解决它? 33个答案
  • “对象引用未设置为对象实例”是什么意思? [复制] 8个答案

  • .NET 4.0中的正确方法是:

    if (String.IsNullOrWhiteSpace(strSearch))
    

    上面使用的String.IsNullOrWhiteSpace方法等价于:

    if (strSearch == null || strSearch == String.Empty || strSearch.Trim().Length == 0) 
    // String.Empty is the same as ""
    

    IsNullOrWhiteSpace方法的参考

    http://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace.aspx

    指示指定的字符串是否为空,空白或仅由空白字符组成。

    在早期版本中,你可以做这样的事情:

    if (String.IsNullOrEmpty(strSearch) || strSearch.Trim().Length == 0)
    

    上面使用的String.IsNullOrEmpty方法等同于:

    if (strSearch == null || strSearch == String.Empty)
    

    这意味着您仍然需要根据示例检查.Trim().Length == 0 “IsWhiteSpace”情况。

    参考IsNullOrEmpty方法

    http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx

    指示指定的字符串是否为空或空字符串。

    说明:

    您需要确保strSearch (或任何变量)不是null然后使用点字符( . )对其进行解引用 - 即在执行strSearch.SomeMethod()strSearch.SomeProperty您需要检查strSearch != null

    在你的例子中,你要确保你的字符串有一个值,这意味着你要确保字符串:

  • 不为null
  • 不是空字符串( String.Empty / ""
  • 不只是空白
  • 在上述情况下,您必须将“Is it null?” 大小写首先,所以当字符串为null时,它不会继续检查其他情况(和错误)。


    .Net的所有版本:

    if (String.IsNullOrEmpty(strSearch) || strSearch.Trim().Length == 0)
    

    .Net 4.0或更高版本:

    if (String.IsNullOrWhitespace(strSearch))
    

    在这种情况下strSearch可能为空(而不是简单的空)。

    尝试使用

    String.IsNullOrEmpty(strSearch)

    如果你只是想确定字符串是否没有任何内容。

    链接地址: http://www.djcxy.com/p/28033.html

    上一篇: Object reference not set to an instance of an object.

    下一篇: How do I use Assert to verify that an exception has been thrown?