首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# 8中不可空引用类型的默认值是什么?

C# 8中不可空引用类型的默认值是什么?
EN

Stack Overflow用户
提问于 2019-04-10 08:14:36
回答 1查看 1.5K关注 0票数 8

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

代码语言:javascript
运行
复制
string text;
EN

回答 1

Stack Overflow用户

发布于 2019-04-10 08:24:52

值将为null

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

如果您声明这个类:

代码语言:javascript
运行
复制
public class Test
{ 
    private string text;
}

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

代码语言:javascript
运行
复制
CS8618: Non-nullable field 'text' is uninitialized.

但是,代码仍然编译。

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

备注:如果您使用该语句声明局部变量,则答案是它将没有值,它将被认为是绝对没有赋值的,并且您不允许从该变量中读取,直到您有了使其明确赋值的代码。

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

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55607785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档