Today I found an article where a const
field is called compile-time constant while a readonly
field is called runtime constant. The two phrases come from 《Effective C#》. I searched in MSDN and the language spec, find nothing about runtime constant.
No offensive but I don't think runtime constant is a proper phrase.
private readonly string foo = "bar";
creates a variable named "foo", whose value is "bar", and the value is readonly, here it is a variable, no business on constant
. A readonly variable is still a variable, it can't be a constant. Variable and constant are mutually exclusive.
Maybe this question goes overboard, still I want to listen to others' opinions. What do you think?
readonly
is poor name. It should have been calledimmutable
.practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page
initonly