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

  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • kndx

    kndx

    11 Mart 2006
  • super1988guy

    super1988guy

    9 Aralık 2007