c# - 为什么会?出现在 IEnumerable<int>?.ToList()?

标签 c# .net c#-6.0

<分区>

我在审查一些代码时遇到了以下代码行:

List authorIntList = authorIds?.ToList();

在上面的示例中,authorIds 是一个 IEnumerable。上面代码行中 ? 的用途是什么?我不确定我以前见过这种模式。它有什么作用,它是在哪个版本的 .NET 中实现的?

最佳答案

这叫做 the "null conditional operator" -- 即 ?. 在一起 -- C# 6.0 的新功能。它的意思是,如果 authorIdsnot null,那么它将调用/返回 ToList()它。否则,它将返回 null。它基本上是语法糖,因此您不必编写更长的代码,例如 List AuthorIntList = authorIds != null ? authorIds.ToList() : null;.

关于c# - 为什么会?出现在 IEnumerable<int>?.ToList()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399376/

相关文章:

c# - 如何在 C# 中分割图像和合并分割图像?

c# - 如何在字符串中搜索一个词,然后得到这个词后面的数字?

c# - 将对象列表绑定(bind)到图表

c# - 将 JSON.NET JObject 的属性/标记转换为字典键

c# - 使用正则表达式获取引号内的文本

C# 6 自动属性 ​​- 读取一次还是每次?

c# - 未调用 asp.net mvc 编辑器模板并显示文本

c# - `DateTime.Parse` 解析哪个时区的时间戳?

c# - DateTime c# 上的空合并运算符

c# - 如何在没有显式转换的情况下始终获得正确的类型