为什么Char.MinVal / .MaxVal不是静态的?

时间:2009-02-20 10:51:14

标签: .net char

public struct Char
{
 public const char MaxValue = (char)0xffff;
 public const char MinValue = '\0';
}

为什么不将此字段设为静态?什么为它总是为每个char分配额外的内存,而这两个值是永久的?

编辑:我不知道如何忘记静态隐藏!

2 个答案:

答案 0 :(得分:13)

const字段是隐含的。从规范的第10.4节开始:

  

即使考虑了常数   静态成员,常量声明   既不需要也不允许静态   修改。这是一个错误   修饰符在a中出现多次   不断声明。

答案 1 :(得分:10)

因为它们是静态的。

Const字段是隐式静态的。