为什么我不能在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选择功能;-)     

要回复问题请先登录注册