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 ... |
Get C# in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.