A class modifier that specifies that the class must be derived from to be instantiated.
A binary-operator type that casts the left operand to the type specified by the right operand, and that returns nullrather than throwing an exception if the cast fails.
A variable with the same meaning as this, except it accesses a base class implementation of a member.
A logical datatype that can be true or false.
A jump statement that exits a loop or switch statement block.
A one-byte unsigned integral datatype.
A selection statement that defines a particular choice in a switch statement.
The part of a try statement that catches exceptions of a specific type defined in the catch clause.
A two-byte Unicode character datatype.
A statement or operator that enforces arithmetic bounds checking on an expression or statement block.
An extendable reference type that combines data and functionality into one unit.
A modifier for a local variable or field declaration that indicates the value is a constant. A const is evaluated at compile time and can only be a predefined type.
A jump statement that skips the remaining statements in a statement block and continues to the next iteration in a loop.
A 16-byte precise decimal datatype.
A marker in a switch statement specifying the action to take when no case statements match the switch expression.
A type for defining a method signature so that delegate instances can hold and invoke a method or list of methods that match its signature.
A loop statement to iterate a statement block until an expression at the end of the loop evaluates to false.
An eight-byte floating-point datatype.
A conditional statement that defines the action to take when a preceding if expression evaluates to false.
A value type that defines a group of named numeric constants.
A member modifier for a delegate field or property that indicates only the += and -= methods of the delegate can be accessed.
An operator that defines an explicit conversion.
A method modifier that indicates the method is implemented with unmanaged code.
A Boolean literal.
The part of a try statement that is always executed when control leaves the scope of the try block.
A statement to pin down a reference type so that the garbage collector won't move it during pointer arithmetic operations.
A four-byte floating-point datatype.
A loop statement that combines an initialization statement, stopping condition, and iterative statement into one statement.
A loop statement that iterates over collections that implement IEnumerable.
The name of the accessor that returns the value of a property.
A jump statement that jumps to a label within the same method and same scope as the jump point.
A conditional statement that executes its statement block if its expression evaluates to true.
An operator that defines an implicit conversion.
The operator between a type and an IEnumerable in a foreach statement.
A four-byte signed integral datatype.
A contract that specifies the members a class or struct can implement to receive generic services for that type.
An access modifier that indicates a type or type member is accessible only to other types in the same assembly.
A relational operator that evaluates to true if the left operand's type matches, is derived from, or implements the type specified by the right operand.
A statement that acquires a lock on a reference-type object to help multiple threads cooperate.
An eight-byte signed integral datatype.
Maps a set of types to a common name.
An operator that calls a constructor on a type, allocating a new object on the heap if the type is a reference type, or initializing the object if the type is a value type. The keyword is overloaded to hide an inherited member.
A reference-type literal that indicates no object is referenced.
The type all other types derive from.
A method modifier that overloads operators.
A parameter modifier that specifies the parameter is passed by reference and must be assigned by the method being called.
A method modifier that indicates that a method of a class overrides a virtual method of a class or interface.
A parameter modifier that specifies that the last parameter of a method can accept multiple parameters of the same type.
An access modifier that indicates that only the containing type can access the member.
An access modifier that indicates that only the containing type or derived types can access the member.
An access modifier that indicates that a type or type member is accessible to all other types.
A field modifier specifying that a field can be assigned only once, in either its declaration or its containing type's constructor.
A parameter modifier that specifies that the parameter is passed by reference and is assigned before being passed to the method.
A jump statement that exits a method, specifying a return value when the method is non-void.
A one-byte signed integral datatype.
A class modifier that indicates a class cannot be derived from.
The name of the accessor that sets the value of a property.
A two-byte signed integral datatype.
An operator that returns the size, in bytes, of a struct.
An operator that returns a pointer to a specified number of value types allocated on the stack.
A type member modifier that indicates that the member applies to the type rather than an instance of the type.
A predefined reference type that represents an immutable sequence of Unicode characters.
A value type that combines data and functionality in one unit.
A selection statement that allows a selection of choices to be made based on the value of a predefined type.
A variable that references the current instance of a class or struct.
A jump statement that throws an exception when an abnormal condition has occurred.
A Boolean literal.
A statement that provides a way to handle an exception or a premature exit in a statement block.
An operator that returns the type of an object as a System.Type object.
A four-byte unsigned integral datatype.
An eight-byte unsigned integral datatype.
A statement or operator that prevents arithmetic bounds from checking on an expression.
A method modifier or statement that permits pointer arithmetic to be performed within a particular block.
A two-byte unsigned integral datatype.
Specifies that types in a particular namespace can be referred to without requiring their fully qualified type names. The using statement defines a scope. At the end of the scope, the object is disposed.
The name of the implicit variable set by the set accessor of a property.
A class-method modifier that indicates that a method can be overridden by a derived class.
A keyword used in place of a type, for methods that don't have a return value.
Indicates that a field may be modified by the operating system or another thread.
A loop statement to iterate a statement block until an expression at the start of each iteration evaluates to false.