SORU
17 Kasım 2008, PAZARTESİ


Null türü ile sorunu ?: Koşullu Operatör

Birisi neden c#.net 2.0 bu işleri: açıklayabilir

	Nullable<DateTime> foo;
	if (true)
		foo = null;
	else
		foo = new DateTime(0);

...ama bu değil:

 	Nullable<DateTime> foo;
	foo = true ? null : new DateTime(0);

İkinci form bana "koşullu ifade edemiyor Tipi '<boş>' ve 'Sistem arasında örtülü dönüşüm yok çünkü belirlenecek bir derleme hatası veriyor'." DateTime

Eski kullanabilirim değil ama ikinci tarz benim kod kalanı ile daha uyumlu.

CEVAP
17 Kasım 2008, PAZARTESİ


Bu soruyu kere zaten bir sürü istendi. Derleyici DateTime null dönüştürme nasıl bilmez olduğunu söylüyor.

Çözüm basit:

DateTime? foo;
foo = true ? (DateTime?)null : new DateTime(0);

Nullable<DateTime> yazarak bir sürü kurtaracak DateTime? yazılabilir unutmayın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eHow

    eHow

    27 NİSAN 2006
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007