С большим количеством фона С++ я привык писать следующее:
const int count = ...; //some non-trivial stuff here
for( int i = 0; i < count; i++ ) {
...
}
и я ожидал, что то же самое будет отлично работать на С#. Однако...
byte[] buffer = new byte[4];
const int count = buffer.Length;
вызывает ошибку CS0133: выражение, присвоенное "count", должно быть постоянным.
Я не понимаю. Почему это недействительно? int
- тип значения, не так ли? Почему я не могу присвоить значение и сделать переменную неизменной таким образом?