[英]Is there the equivalent of Python 3's Optional for generics in C#?
实际上,您无需执行任何操作即可在此类列表中获取空值:
var list = new List<Regex>();
list.Add(null);
这是因为正则表达式是一个类,这就是它的工作方式。
var regex = CreateMyRegex();
list.Add(regex);
无论CreateMyRegex
方法返回什么,null或instance,它都会被添加到列表中。
实际上,当前您无法进行其他操作-禁止在此类列表中使用null。 有可能在C#8中实现。
如果您想对结构执行此操作,也可以执行以下操作:
var list = new List<int?>();
list.Add(null);
问号语法不限于c#中的泛型,您可以将可空结构设为任何其他变量类型:
int? number = null;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.