SORU
12 Temmuz 2012, PERŞEMBE


Neden yapar .() Olabilirdi boş bir dize neden boş bir hata, ne zaman .() Olabilirdi çalışır null değeri null bir int iyi?

selectedItem iki alan vardır:

  • int? _cost
  • string _serialNumber

Bu örnekte, _cost selectedItem _serialNumber null. Özellikleri ile selectedItem alanları ile okuma, ve onların değerleri ile metin kutularının doldurulması, zaman benim

TextBox1.Text = selectedItem.Cost.ToString(); //no error
TextBox2.Text = selectedItem.SerialNumber.ToString(); //error

SerialNumber.ToString() gereksiz olduğunu anlıyorum zaten bir dize (çünkü), ama bu durum neden oluyor anlamıyorum:

Null olabilecek nesnenin bir değeri olması gerekir.

  • int? _cost null bir değeri yok, henüz bana özel durum vermez.
  • string _serialNumber null bir değer, henüz yokyokbana özel ver.

Bu question üzerinde dokunur, adam temelde aynı şeyi soruyor, fakat belirlenmiş cevap yok, ve aynı zamanda int neden açıklamıyor? Örneğin, boş bir dize null bir int ancak .ToString() kullanabilir miyim?

CEVAP
12 Temmuz 2012, PERŞEMBE


string tip null gerçekten hiçbir şey için işaret ettiği için, bellek herhangi bir nesne yok.< / ^ br . Ama değer bile int? type(null) bazı nesne null hala puan olarak ayarlayın.< / ^ br . Eğer okuduğunuz Jeffrey Richter "CLR via C#" yakında öğrenirsiniz null türü sadece cephe sınıflar için ortak türleri ile bazı incapsulated mantık yapmak için iş ile DB boş daha uygun.

msdn null türleri hakkında bilgi edinmek için kontrol edin.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • MyTiredBones

    MyTiredBones

    2 Temmuz 2013
  • TechRax

    TechRax

    21 EYLÜL 2009