System.Nullable<T> yapısı
Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.
sınıfı, Nullable atanabilen null
bir değer türünü temsil eder.
Bir değer atanabiliyorsa veya atanabiliyorsa türün null atanabilir null
olduğu söylenir. Bu, türün hiçbir değeri olmadığı anlamına gelir. Varsayılan olarak, gibi Stringtüm başvuru türleri null atanabilir, ancak gibi Int32tüm değer türleri değildir.
C# ve Visual Basic'te, değer türünden ?
sonraki gösterimi kullanarak bir değer türünü null atanabilir olarak işaretlersiniz. Örneğin, int?
C# veya Integer?
Visual Basic'te atanabilecek null
bir tamsayı değer türü bildirir.
Başvuru Nullable<T> türleri tasarım gereği null atanabilir olduğundan yapı, null atanabilir tür olarak yalnızca bir değer türü kullanmayı destekler.
sınıfı, Nullable yapı için Nullable<T> tamamlayıcı destek sağlar. sınıfı Nullable , temel alınan değer türü genel karşılaştırma ve eşitlik işlemlerini desteklemeyen null atanabilir tür çiftleri üzerinde null atanabilir türün temel türünü ve karşılaştırma ve eşitlik işlemlerini almayı destekler.
Temel özellikler
Yapının iki temel üyesi Nullable<T> ve Value özellikleridirHasValue. Bir nesnenin HasValue özelliği isetrue
, nesnenin değerine özelliğiyle Value Nullable<T> erişilebilir. HasValue özelliği isefalse
, nesnenin değeri tanımlanmamıştır ve özelliğine erişme Value girişimi bir InvalidOperationExceptionoluşturur.
Kutulama ve kutu açma
Boş değer atanabilir bir tür kutulandığında, ortak dil çalışma zamanı nesnenin kendisini değilNullable<T>, nesnenin Nullable<T> temel değerini otomatik olarak kutular. Yani, özelliği ise HasValue true
özelliğin Value içeriği kutulanır. Null atanabilir bir türün temel alınan değeri kutulanmamışsa, ortak dil çalışma zamanı temel alınan değere başlatılan yeni Nullable<T> bir yapı oluşturur.
HasValue
Null atanabilir bir türün özelliği isefalse
, kutulama işleminin sonucu olurnull
. Sonuç olarak, bir nesne bağımsız değişkeni bekleyen bir yönteme kutulanmış null atanabilir bir tür geçirilirse, bu yöntem bağımsız değişkenin null
olduğu durumu işlemeye hazır olmalıdır. Boş değer atanabilir bir türe gelen kutular kaldırıldığındanull
, ortak dil çalışma zamanı yeni Nullable<T> bir yapı oluşturur ve özelliğini olarak false
başlatırHasValue
.
Windows çalışma zamanı bileşenleri
WinMD Nullable<T> kitaplığında dışarı aktarılan bir yapının üyesi olarak bir tür ekleyebilirsiniz.