<分区>
我在审查一些代码时遇到了以下代码行:
List authorIntList = authorIds?.ToList();
在上面的示例中,authorIds 是一个 IEnumerable。上面代码行中 ?
的用途是什么?我不确定我以前见过这种模式。它有什么作用,它是在哪个版本的 .NET 中实现的?
<分区>
我在审查一些代码时遇到了以下代码行:
List authorIntList = authorIds?.ToList();
在上面的示例中,authorIds 是一个 IEnumerable。上面代码行中 ?
的用途是什么?我不确定我以前见过这种模式。它有什么作用,它是在哪个版本的 .NET 中实现的?
最佳答案
这叫做 the "null conditional operator" -- 即 ?
和 .
在一起 -- C# 6.0 的新功能。它的意思是,如果 authorIds
是 not null
,那么它将调用/返回 ToList()
它。否则,它将返回 null。它基本上是语法糖,因此您不必编写更长的代码,例如 List AuthorIntList = authorIds != null ? authorIds.ToList() : null;
.
关于c# - 为什么会?出现在 IEnumerable<int>?.ToList()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399376/