gpt4 book ai didi

c# - 为什么作为引用类型的字符串可以是非空常量,而其他引用类型常量必须为空?

转载 作者:可可西里 更新时间:2023-11-01 08:57:31 26 4
gpt4 key购买 nike

据我所知,string 是一个引用类型。 const 可以与 reference 类型一起使用,只有当它们被分配为 null 时。我的问题是

为什么作为引用类型的string可以赋值为文字字符串(或非空)?

最佳答案

取自const文档:

A constant expression is an expression that can be fully evaluated at compile time. Therefore, the only possible values for constants of reference types are string and a null reference.

换句话说,这是一个异常(exception)。如果没有字符串常量之类的东西,生活将会困难得多。

您还可以记住它不是所有 字符串,例如您不能使用代码const string test = new string('t', 7);,即使您可以使用 static string test = new string('t', 7);。另一方面,虽然您可以将字符串常量定义为字符串文字 (test = "value";),但您不能使用文字定义任何其他引用类型 (Form f = ???).

关于c# - 为什么作为引用类型的字符串可以是非空常量,而其他引用类型常量必须为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com