Nullable tipler bir değere sahip olabileceği gibi, undefined durumunda da olabilir. ?? operatoru null kontrolü yapmamızı sağlayarak nullable bir tipin değerini non-nullable bir tipe atamamızı kolaylaştırır. Ayrıca non-nullable tiplerin önüne ? konularak da bu tiplerin, nullable tipler gibi davranmasını sağlayabiliyoruz.
DateTime myDateTime = null; //nullable tip olmadığı için derleme zamanında hata verir.
Kullanımına basit bir örnek
DateTime? myDateTime = null; //sorunsuz çalışır DateTime? yourDateTime = DateTime.Now; DateTime dateTime = myDateTime ?? yourDateTime ?? DateTime.Now; // myDateTime null ise yourDateTime'ın değerini ata, o da null ise DateTime.Now'ın değerini ata
