如何解决为什么我不能在C#中使用var声明常量? [重复]
| 这个问题已经在这里有了答案:解决方法
var
关键字旨在避免编写冗长的复杂类型名(不能为常量)。
能够像这样写声明非常方便
var dict = new Dictionary<string,List<Definition>>();
使用匿名类型时,它是必需的。
对于常数,这不是问题。
带有常量常量的最长的内置typename是decimal
;这不是一个很长的名字。
可能会有任意长的enum
名称可以用作常量,但是C#编译器团队显然对此并不关心。
一方面,如果您要使常数enum
不变,则最好将其放在enum
中。
另外,“ 3”个名称不应太长。 (与复杂的泛型类型不同,后者可以并且经常应该这样做)
,这是一个编译器限制,而该限制的原因在此由eric lippert给出。
,没有var的常数:
const int Value1 = 1;
const int Value2 = 2;
带有var的常量(创建后无法更改匿名类型属性值):
var constants = new {
Value1 = 1,Value2 = 2,};
//use as constants.Value1
,由于常量必须是内置数字类型或string
,因此您实际上并没有节省太多。 const int
与length11ѭ的长度相同,int
可能是最常见的常数类型。然后是13英镑,实际上还不够长。如果要输入的内容很多,请使用Alt选择功能;-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。