C# türlerinin varsayılan değerleri (C# başvurusu)

Aşağıdaki tabloda C# türlerinin varsayılan değerleri gösterilmektedir:

Tür Default value
Herhangi bir başvuru türü null
Herhangi bir yerleşik tamsayı sayısal türü 0 (sıfır)
Herhangi bir yerleşik kayan nokta sayısal türü 0 (sıfır)
bool false
char '\0' (U+0000)
enum ifadesi (E)0tarafından üretilen değer; burada E sabit listesi tanımlayıcısıdır.
struct Tüm değer türü alanları varsayılan değerlerine ve tüm başvuru türü alanları olarak nullayarlanarak üretilen değer.
Boş değer atanabilir herhangi bir değer türü Özelliğinin HasValue olduğu ve özelliğinin falseValue tanımsız olduğu bir örnek. Bu varsayılan değer, null atanabilir bir değer türünün null değeri olarak da bilinir.

Varsayılan değer ifadeleri

default Aşağıdaki örnekte gösterildiği gibi, bir türün varsayılan değerini üretmek için işlecini kullanın:

int a = default(int);

Sabit değerini default kullanarak değişkeni türündeki varsayılan değerle başlatabilirsiniz:

int a = default;

Değer türünün parametresiz oluşturucu

Bir değer türü için örtük parametresiz oluşturucu, aşağıdaki örnekte gösterildiği gibi türün varsayılan değerini de üretir:

var n = new System.Numerics.Complex();
Console.WriteLine(n);  // output: (0, 0)

Çalışma zamanında, örnek bir değer türünü temsil ederse, türün System.TypeActivator.CreateInstance(Type) varsayılan değerini almak için parametresiz oluşturucuyu çağırmak için yöntemini kullanabilirsiniz.

Not

C# 10 ve sonraki sürümlerde, bir yapı türünün (değer türü), türün varsayılan olmayan bir değerini üretebilecek açık bir parametresiz oluşturucuya sahip olabilir. Bu nedenle, bir türün default varsayılan değerini üretmek için işlecini veya default değişmez değerini kullanmanızı öneririz.

C# dili belirtimi

Daha fazla bilgi için C# dil belirtiminin aşağıdaki bölümlerine bakın:

Ayrıca bkz.