This content has moved to the dotnet/csharpstandard
repository.
The list below provides links to each heading in this section. The links specify the C# 6 branch, which is version when the specifications merged.
To view the text of the Microsoft spec before merging with the ECMA text, checkout the ms-spec-text tag in this repository.
- Variables
- Variable categories
- Default values
- Definite assignment
- Initially assigned variables
- Initially unassigned variables
- Precise rules for determining definite assignment
- General rules for statements
- Block statements, checked, and unchecked statements
- Expression statements
- Declaration statements
- If statements
- Switch statements
- While statements
- Do statements
- For statements
- Break, continue, and goto statements
- Throw statements
- Return statements
- Try-catch statements
- Try-finally statements
- Try-catch-finally statements
- Foreach statements
- Using statements
- Lock statements
- Yield statements
- General rules for simple expressions
- General rules for expressions with embedded expressions
- Invocation expressions and object creation expressions
- Simple assignment expressions
- && (conditional AND) expressions
- || (conditional OR) expressions
- ! (logical negation) expressions
- ?? (null coalescing) expressions
- ?: (conditional) expressions
- Anonymous functions
- Variable references
- Atomicity of variable references