#319 – You Initialize a Constant Using an Expression
May 6, 2011 1 Comment
You initialize a constant in C# using either a literal or an expression that resolves to the correct type.
public class Dog { const string Demeanor = "friendly"; const int NumberOfLegs = 4; const double OneThird = 1.0 / 3.0;
You can also use the value of another constant in a constant expression.
const int NumberOfLegs = 4; const int NumberOfEyes = 2; const int EyeAndLegCount = NumberOfLegs + NumberOfEyes;
The constant expression must be able to be resolved at compile time, so you can’t use something that is not a constant. This includes variables and also includes the results of method calls.
static int NumLegs = 4; // Not a constant // Error: The expression being assigned to 'ConsoleApplication2.Dog.LegsPlusOne' must be constant const int LegsPlusOne = NumLegs + 1;
Pingback: #586 – Default Values for Optional Parameters Must Be Constants « 2,000 Things You Should Know About C#