Cat*_*iss 3 c# nullreferenceexception
我正在尝试获取包含特定字符串的列表项,并且我正在使用以下代码:
string myListLine= myList.FirstOrDefault(stringToCheck => stringToCheck.Contains("mystring "));
Run Code Online (Sandbox Code Playgroud)
一切正常,但如果列表不包含特定字符串,则会抛出错误:
你调用的对象是空的
我认为我应该以某种方式验证该字符串是否首先存在,但不确定什么是最好的方法。
如果列表不包含特定字符串,则会抛出错误:
这是不正确的。抛出异常,因为null列表中有一个值!如果列表中的所有项目都是有效字符串,则不会抛出异常。在这种情况下FirstOrDefault将简单地返回null。
我认为我应该以某种方式验证该字符串是否首先存在
您可以先用oldscool方法检查它是否为null,然后将其与逻辑AND&&与Contains方法结合起来
string myListLine= myList.FirstOrDefault(stringToCheck =>
stringToCheck != null && stringToCheck.Contains("mystring "));
Run Code Online (Sandbox Code Playgroud)
这样,Contains如果第一个条件的计算结果为,则不会计算第二个条件FALSE