为什么 Visual Studio 将新创建的数组键入为 Nullable?
在 C# 中,对引用类型的变量使用 var 关键字会推断出可空引用类型,如 C# 规范提案中所指定。这意味着对于如下代码:
var zeroBased = new TVal[size];
Visual Studio 将建议:
TVal[]? zeroBased = new TVal[size];
The ?运算符指示该类型可能可为空。但是,您可能会假设用 new 创建的数组永远不会为空。因此,你可能会这样写:
TVal[] zeroBased = new TVal[size];
那么,在 C# 中用 new 实例化的数组可以返回 null 吗?
场景
一个数组可能为空的情况是当它被分配给可为空类型的变量时。例如:
TVal[]? nullableArray = new TVal[size];
在这种情况下,数组可以显式为 null,并且其值可以设置为 null。
另一种情况是使用 default 时,它会为类型。对于数组,这意味着一个长度为零且元素为空的数组。
TVal[]? defaultArray = default;
因此,在创建数组时使用显式类型是一个很好的做法,特别是当您使用可空引用类型来避免潜在的空值。
以上是为什么 Visual Studio 建议为 C# 中新创建的数组使用可空类型?的详细内容。更多信息请关注PHP中文网其他相关文章!