With a lot of C++ background I\'ve got used to writing the following:
const int count = ...; //some non-trivial stuff here
for( int i = 0; i < count; i++
Because const in C# is a lot more const than const in C++. ;)
In C#, const is used to denote a compile-time constant expression. It'd be similar to this C++ code:
enum {
count = buffer.Length;
}
Because buffer.Length is evaluated at runtime, it is not a constant expression, and so this would produce a compile error.
C# has a readonly keyword which is a bit more similar to C++'s const. (It's still much more limited though, and there is no such thing as const-correctness in C#)