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 null rather than throwing an exception if the cast fails.
A variable with the same meaning as this, except that 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 data type.
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 data type.
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 that the value is a constant. A const is evaluated at compile time and can be only 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 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 8-byte, floating-point data type.
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 that only the += and -= methods of the delegate can be accessed.
An operator that defines an explicit conversion.
A method modifier that indicates that the method is implemented with unmanaged code.
A Boolean literal.
The part of a try statement to execute whenever control leaves the scope of the try block.
A statement to pin down a reference type so the garbage collector won't move it during pointer arithmetic operations.
A four-byte floating-point data type.
A loop statement that combines an initialization statement, continuation 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 data type.
A contract that specifies the members that a class or struct may implement to receive generic services for that type.
An access modifier that indicates that 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 data type.
A keyword that 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 that no object is referenced.
The type all other types derive from.
A method modifier that overloads operators.
A parameter modifier that specifies that 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 may 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, either in its declaration or in 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 nonvoid.
A one-byte, signed integral data type.
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 data type.
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 to 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 data type.
An eight-byte, unsigned integral data type.
A statement or operator that prevents arithmetic bounds 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 data type.
A directive that specifies that types in a particular namespace can be referred to without requiring their fully qualified type names. The keyword is overloaded as a statement that allows an object that implements IDisposable to be disposed of at the end of the statement's scope.
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.
A field modifier indicating that a field's value may be modified in a multithreaded scenario; neither the compiler nor runtime should perform optimizations with that field.
A loop statement to iterate a statement block while an expression at the start of each iteration evaluates to false.