O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 20. C# Language Reference

The following table describes the syntax of various C# language elements. The left column shows the syntax for each element, and the right column includes one or more examples.

Arrays
type [*]
+ array-name = 
[
  new type [ dimension+ ][*]*; |
  { value1, value2, ... };
]
byte[] arr1 = new byte[10];
int[] arr2 = {0, 1, 2};
([*] is the set: [] [,] [,,] etc.)
Attributes
[[target:]? attribute-name (
positional-param+ |
[named-param = expr]+ |
positional-param+, [named-param = 
                   expr]+)?]
[assembly:CLSCompliant(false)]
[WebMethod(true, 
  Description="My web method")]
Break statement
break;
break;
Checked/unchecked
checked (expr)
unchecked (expr)
// throws exception
short x = 32767;
int i = checked((short) ++x );
// silently overflows to -32768
short y = 32767;
int j = unchecked((short) ++y );
checked [statement | statement-block]
unchecked [statement | statement-block]
// throws exception
public short foo() {
  short y = 32767;
  checked {
    return ++y;
  }
}
// silently overflows
public short bar() {
  short y = 32767;
  unchecked {
    return ++y;
  }
}
Class declaration
                           attributes? unsafe? access-modifier?
new? 
[ abstract | sealed ]?
class class-name 
[: base-class | 
 : interface+ | 
 : base-class, interface+ ]?
{ class-members }
public class MyClass : Base, IFoo {
  // ...
}
Constant declaration
const type [variable = constant-expr]+;
const int xyzzy = 42;
Constant fields
                           attributes? access-modifier?
new?
const type [constant-name = 
                    constant-expr]+;
internal ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required