C# Error
CS0822 – Implicitly-typed variables cannot be constant
Reason for the Error & Solution
Implicitly typed locals cannot be const
Implicitly typed local variables are only necessary for storing anonymous types. In all other cases they are just a convenience. If the value of the variable never changes, just give it an explicit type. Attempting to use the readonly
modifier with an implicitly typed local will generate CS0106.
To correct this error
- If you require the variable to be constant or
readonly
, give it an explicit type.
Example
The following code generates CS0822:
// cs0822.cs
class A
{
public static int Main()
{
const var x = 0; // CS0822.cs
return -1;
}
}