the example on nullable types is a bit off the mark: string? has no point because strings are reference types - all reference types may be null, so there is no no reason to wrap them in a Nullable<T>.it is more interesting for value types, such as int, short, long, structs, etc.