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)0 tarafı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 null ayarlanarak üretilen değer. |
Boş değer atanabilir herhangi bir değer türü | Özelliğinin HasValue olduğu ve özelliğinin false Value 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:
- Varsayılan değerler
- Varsayılan oluşturucular
- C# 10 - Parametresiz yapı oluşturucuları
- C# 11 - Otomatik varsayılan yapılar