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 | Varsayılan değer |
---|---|
Herhangi bir başvuru türü | null |
Herhangi bir yerleşik tam sayı 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. |
Yapı | Tüm değer türü alanları varsayılan değerlerine ve tüm başvuru türü alanları null olarak ayarlanarak oluşturulan değer. |
Boş değer atanabilir herhangi bir değer türü | Özelliğinin olduğu false ve özelliğinin HasValueValue tanımsız olduğu bir örnek. Bu varsayılan değer, null atanabilir değer türünün null değeri olarak da bilinir. |
Varsayılan değer ifadeleri
Aşağıdaki örnekte gösterildiği gibi, bir türün varsayılan değerini üretmek için işlecini kullanın:default
int a = default(int);
Sabit değerinidefault
kullanarak bir değişkeni türündeki varsayılan değerle başlatabilirsiniz:
int a = default;
Değer türünün parametresiz oluşturucu
Aşağıdaki örnekte gösterildiği gibi, bir değer türü için örtük parametresiz oluşturucu da türün varsayılan değerini ü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 ediyorsa System.Type , türün Activator.CreateInstance(Type) varsayılan değerini almak üzere parametresiz oluşturucuyu çağırmak için yöntemini kullanabilirsiniz.
Not
C# 10 ve sonraki sürümlerde, bir yapı türü (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