Aracılığıyla paylaş


Nasıl yapılır: Cast bool karşı güvenli mi? bool (C# Programlama Kılavuzu)

bool? Null türü, üç farklı değerler içerebilir: true, false, ve null.Bu nedenle, bool? türü ile bilgi almak gibi kullanılamaz if, for, veya while.Örneğin, aşağıdaki kod, bir derleyici hatası neden olur.

bool? b = null;
if (b) // Error CS0266.
{
}

Ne belirsiz olduğundan buna izin verilmez null koşullu bağlamında anlamına gelir.Kullanmak için bir bool? bir koşul deyimi ilk denetleyin, HasValue özelliğinin değeri olduğundan emin olun nullve ona artığını bool.Daha fazla bilgi için bkz: bool.Cast yapıyorsanız bir bool? değeri null, bir InvalidOperationException koşullu sınamanın oluşturuldu.Aşağıdaki örnekte karşı güvenli bir şekilde artığını yapmanın bir yolu gösterilmektedir bool? için bool:

Örnek

            bool? test = null;
             ...// Other code that may or may not
                // give a value to test.
            if(!test.HasValue) //check for a value
            {
                // Assume that IsInitialized
                // returns either true or false.
                test = IsInitialized();
            }
            if((bool)test) //now this cast is safe
            {
               // Do something.
            }

Ayrıca bkz.

Başvuru

Harflerden oluşan anahtar sözcükler (C# Reference)

NULL olabilecek türleri (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu