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ş:
Nasıl olmayan sabit bir referans geçic...
Neden nesne türü dinamik bir null başv...
JQuery ile JavaScript nesne için form ...
Geçersiz kılınmış bir Sistem için en i...
Nasıl verimli bir şekilde anahtarları/...