SORU
23 EYLÜL 2015, ÇARŞAMBA


Döküm nesne için .NET referans kaynağı

OperatingSystem.cs dosya üzerinden gidiyordum .NET başvuru kaynağı line 50 bu kodu not:

if ((Object) version == null)

version sınıf version Object türeyen anlamına gelir Version, bir nesnedir. Eğer o ise, o Object döküm gereksiz değil mi? Bu aynı olmaz mıydı?

if (version == null)

CEVAP
23 EYLÜL 2015, ÇARŞAMBA


Hayır Version == operatör aşırı yükleme nedeniyle eşdeğer değil.

Object sol işlenen atmalarını parçacık eşdeğer

if (Object.ReferenceEquals(version, null))

... tercih operator== uygulama aramaktan daha Version. Bir hiçlik, ilk iş olarak kontrol edin her neyse yapmak için büyük olasılıkla, ama bu sadece ekstra seviye atlar.

Diğer durumlarda, bu çok önemli bir fark yaratabilir. Örneğin:

string original = "foo";
string other = new string(original.ToCharArray());
Console.WriteLine(original == other); // True
Console.WriteLine((object) original == other); // False

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • KSI

    KSI

    25 Temmuz 2009
  • Sam Kear

    Sam Kear

    14 Temmuz 2007