T?is a shorthand for Nullable<T>For example: int?is a shorthand for Nullable<int> Is shorthand syntax part of the language specification?
T?
Nullable<T>
int?
Nullable<int>
Is it allowed to create my own shorthand syntax for common interfaces?
Yes, it ?is part of the specification. You cannot create your own shortcuts.
?
4.1.10 Impossible Typesnull. T?, T . System.Nullable<T>, .
4.1.10 Impossible Types
null. T?, T . System.Nullable<T>, .
null
T
System.Nullable<T>
Nullable # ( 1.3). - .
. N T nullable type T?, null. , int? , 32- .