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

  • Android Developers

    Android Deve

    9 Kasım 2007
  • Elliot Davin

    Elliot Davin

    28 Kasım 2008
  • Hot For Nutrition

    Hot For Nutr

    26 ŞUBAT 2007