有很多C++背景我已经习惯了写下面的内容:
const int count = ...; //some non-trivial stuff here
for( int i = 0; i < count; i++ ) {
...
}
Run Code Online (Sandbox Code Playgroud)
我希望在C#中也能正常工作.然而...
byte[] buffer = new byte[4];
const int count = buffer.Length;
Run Code Online (Sandbox Code Playgroud)
产生错误CS0133:分配给'count'的表达式必须是常量.
我不明白.为什么这个无效?int是一种价值类型,不是吗?为什么我不能这样分配值并使变量不可更改?