C# syntax is inspired by C and C++ syntax. And it has similar syntax with Java as well.
In this section, we will describe C#'s elements of syntax, using the following program:
using System;
class Main {
static void Main() {
int x = 2 * 3;
Console.WriteLine (x);
}
}
Identifiers are names that programmers choose for their classes, methods, variables, and so on.
C# identifiers are case-sensitive. aMethod
and AMethod
are two different names.
By convention, parameters, local variables, and private fields should be in camel case, for example myVariable.
All other identifiers should be in Pascal case, for example MyMethod.
Keywords are names reserved by the compiler that you can't use as identifiers.
Here is the full list of C# keywords:
abstract do in protected true
as double int public try
base else interface readonly typeof
bool enum internal ref uint
break event is return ulong
byte explicit lock sbyte unchecked
case extern long sealed unsafe
catch false namespace short ushort
char finally new sizeof using
checked fixed null stackalloc virtual
class float object static void
const for operator string volatile
continue foreach out struct while
decimal goto override switch
default if params this
delegate implicit private throw
To use a keyword as an identifier, qualify it with the @
prefix.
For instance:
class class {...} // Illegal class @class {...} // Legal
We cannot use class as the name of a class directly, we have to add the @
before
it.
The @
symbol is not part of the identifier itself.
So @myVariable
is the same as myVariable
.
The @
prefix is useful when using libraries written in
other .NET languages that have different keywords.
Some keywords are contextual, they can be used as identifiers-without an @
symbol.
These are:
add ascending async dynamic
equals from in into
join partial remove select
where yield await get
let set by global
on value descending group
orderby var
C# offers two different styles of source-code documentation: single-line comments and multiline comments.
A single-line comment begins with a double forward slash and continues until the end of the line.
For example:
int x = 3; // Comment about assigning 3 to x
Single line comment is useful when adding shorter comment.
A multiline comment begins with /* and ends with */. For example:
int x = 3; /* This is a comment that
spans two lines */
To add comment with multiple lines we should use the multiline comment.
Comments may embed XML documentation tags.