条件语句中的C#6.0 null运算符
发布时间:2020-12-15 17:39:57 所属栏目:百科 来源:网络整理
导读:根据我在C#6.0中使用新的null运算符收集的内容,您可以执行以下操作: string name = people.FirstOrDefault()?.FullName; 这很棒,但我经常遇到的一个验证是这样的: object name = null;if(name != null) { DoSomething();} else { DoSomethingElse();} 鉴于
根据我在C#6.0中使用新的null运算符收集的内容,您可以执行以下操作:
string name = people.FirstOrDefault()?.FullName; 这很棒,但我经常遇到的一个验证是这样的: object name = null; if(name != null) { DoSomething(); } else { DoSomethingElse(); } 鉴于新的null运算符的目的,我希望这样的事情应该是可能的: if(name?) { DoSomething(); } else { DoSomethingElse(); } 这里的问题从我的理解是什么时候的价值?检查实际上是null,它返回null,并且你需要一个if语句的bool条件.既然你不能直接将null转换为bool,那么有没有一种更简单的方法来检查它而不使用C#6.0中的new null运算符if(name!= null)? 解决方法
这样做没有意义.你在你的例子中没有做任何空合并 – 你只是检查null.
如果要检查名称对象的某个成员,可以更好地使用.例如: if (name?.FirstName != null) ... 但正如你所看到的,它仍然是一个简单的null比较 – 我们只是使用null合并来避免写这样的东西: if (name != null && name.FirstName != null) ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |