SORU
30 Mayıs 2012, ÇARŞAMBA


Neden Boş Dizeleri Bitiştirmek için Geçerli ama Ara "boş değil.() Olabilirdi"?

Bu geçerli bir C# kodu

var bob = "abc"   null   null   null   "123";  // abc123

Bu geçerli değildir C# kodu

var wtf = null.ToString(); // compiler error

Neden ilk ifade geçerli mi?

CEVAP
30 Mayıs 2012, ÇARŞAMBA


İlk tek nedeni çalışmak

MSDN:

Dize birleştirme işlemleri,C# derleyicisi boş bir dize boş bir dize olarak aynı şekilde davranır, ama orijinal boş dize değeri dönüştürmez.

binary operator: Daha fazla bilgi

İkili operatör bir veya her iki işlenen türü string zaman dize birleştirme gerçekleştirir.

Eğer dize birleştirme bir işlenen boş ise, boş bir dize yerine. Aksi halde, dize olmayan herhangi bir argüman ToString sanal yöntem tür nesneden devralınan çağırarak dize gösterimine dönüştürülür.

Eğer ToString verir null, boş bir dize yerine.

İkinci hatanın nedeni budur:

null (C# Reference) - null anahtar sözcüğü null başvuru, herhangi bir nesneye başvuran bir temsil eden bir edebi vardır. null referans tipi değişkenler için varsayılan değer.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ABC News (Australia)

    ABC News (Au

    9 HAZİRAN 2008
  • Blendtec

    Blendtec

    30 EKİM 2006
  • Lin Steven

    Lin Steven

    17 EKİM 2006