Compiler Error CS0201
Only assignment, call, increment, decrement, and new object expressions can be used as a statement
The compiler generates an error when it encounters an invalid statement. An invalid statement is any line or series of lines ending in a semicolon that does not represent an assignment (=), method call (), new, -- or ++ operation. For more information, see Statements, Expressions, and Operators (C# Programming Guide).
Example
The following sample generates CS0201 because 2 * 3 is an expression, not a statement. To make the code compile, try assigning the value of the expression to a variable.
// CS0201.cs
public class MainClass
{
public static void Main()
{
2 * 3; // CS0201
// Try the following line instead.
// int i = 2 * 3;
}
}
The following sample generates CS0201 because checked by itself is not a statement, even though it is parameterized by an increment operation.
// CS0201_b.cs
// compile with: /target:library
public class MyList<T>
{
public void Add(T x)
{
int i = 0;
if ( (object)x == null)
{
checked(i+); // CS0201
// OK
checked {
i++;
}
}
}
}
See Also
Other Resources
C# Compiler Errors and Warnings
Change History
Date |
History |
Reason |
---|---|---|
August 2008 |
Added more explanatory text. |
Customer feedback. |