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) ...总结
以上是内存溢出为你收集整理的条件语句中的C#6.0 null运算符全部内容,希望文章能够帮你解决条件语句中的C#6.0 null运算符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)