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

  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • MyTiredBones

    MyTiredBones

    2 Temmuz 2013
  • William Hyde

    William Hyde

    23 HAZİRAN 2008