如果我启用了可空引用类型,那么如果我这样声明,下面的字符串的值是多少?
string text;发布于 2019-04-10 08:24:52
值将为null。
请记住,可空引用类型的新系统只会警告您问题,它不会给您一个错误,这意味着代码仍然会编译,并带有警告。
如果您声明这个类:
public class Test
{
private string text;
}你会收到你的班级的警告:
CS8618: Non-nullable field 'text' is uninitialized.但是,代码仍然编译。
因此(再次)回答您的问题,该字段的默认值将是null。
备注:如果您使用该语句声明局部变量,则答案是它将没有值,它将被认为是绝对没有赋值的,并且您不允许从该变量中读取,直到您有了使其明确赋值的代码。
至于警告与错误,您可以选择将它们作为错误,通过修改项目选项并列出希望被视为错误的警告。
https://stackoverflow.com/questions/55607785
复制相似问题