繁体   English   中英

C#8中Non-Nullable引用类型的默认值是多少?

[英]What is the default value of Non-Nullable reference types in C# 8?

如果我启用可空引用类型,如果我这样声明它,那么下面字符串的值是多少?

string text;

该值将为null

请记住,可空引用类型的新系统只会警告您有关问题,它不会给您一个错误 ,这意味着代码仍然会编译,并带有警告。

如果您声明此类:

public class Test
{ 
    private string text;
}

你的班级会收到这个警告:

CS8618: Non-nullable field 'text' is uninitialized.

但是, 代码仍然编译

因此,要(再次)回答您的问题,该字段的默认值将为null

注意:如果您使用该语句声明一个局部变量,答案是它没有值,它将被视为绝对未分配,并且您不允许从该变量读取,直到您有适当的代码它肯定是第一个分配。


至于警告与错误,您可以通过摆弄项目选项来选择将它们作为错误,并列出您希望被视为错误的警告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM