Cosa ?
significa:Tipo di variabile che termina con?
public bool? Verbose { get; set; }
Quando viene applicato a string?
, c'è un errore:
The type 'string' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Nullable'
Solo per aggiungere alle altre risposte che descrivono i tipi nullable: un bool è memorizzato in memoria come 0 o 1, non c'è altra opzione. Rendendolo un tipo nullable alloca un'area di memoria più ampia in cui il suo valore può essere true, false o null. Noterai che ora puoi fare cose come Verbose.HasValue che non potresti fare se è stato definito un bool. –
Anche per aggiungere alla conversazione generale, tutti i tipi di riferimento sono annullabili per impostazione predefinita (I.E. puoi impostarli tutti su null), quindi il tipo Nullable è progettato per non accettarli, poiché duplicherebbe funzionalità e complicherebbe le cose. –
Rangoric
possibile duplicato di [Che cosa significa "DateTime?" significa in C#?] (http://stackoverflow.com/questions/109859/what-does-datetime-mean-in-c) –