C#中的幂等修饰符
我注意到,如果我写这样的东西:
static void Main(string[] args) { const const const bool flag = true; }  编译器不会警告我多个const 。 所以这似乎模仿C修饰符,因为它们是幂等的。 
但是,如果我写:
 private readonly readonly int a; 
 编译器警告我重复readonly 。 
那么这里发生了什么? 修饰符是幂等的还是不?
csc版本1.0.0.50618
这是编译器中的一个bug – 至less在Roslyn版本1.0.0.50618中。 从C#5规范的第8.5.2节:
局部常数声明声明一个或多个局部常量。
本地常量声明 :
consttypes 常量声明符常量声明符 :
常数声明
常量声明符,常量声明符常量声明 符 : 标识符
=常量expression式
 正如你所看到的,那个语法不允许const const const bool flag = true;  。 
我已经提交了一个对Roslyn的错误,以便它可以得到修复。