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

  • K-391

    K-391

    23 EKİM 2012
  • Crossover

    Crossover

    18 HAZİRAN 2007
  • Vintendo Power

    Vintendo Pow

    2 Ocak 2007