Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Varsayılan değer ifadesi, bir türün varsayılan değerini üretir. İki tür varsayılan değer ifadesi vardır: varsayılan işleç çağrısı ve varsayılan değişmez değer.
Ayrıca deyimi içinde default
varsayılan büyük/küçük harf etiketi switch
olarak anahtar sözcüğünü de kullanırsınız.
varsayılan işleç
aşağıdaki örnekte gösterildiği gibi işlecin bağımsız değişkeni default
bir tür veya tür parametresinin adı olmalıdır:
Console.WriteLine(default(int)); // output: 0
Console.WriteLine(default(object) is null); // output: True
void DisplayDefaultOf<T>()
{
var val = default(T);
Console.WriteLine($"Default value of {typeof(T)} is {(val == null ? "null" : val.ToString())}.");
}
DisplayDefaultOf<int?>();
DisplayDefaultOf<System.Numerics.Complex>();
DisplayDefaultOf<System.Collections.Generic.List<int>>();
// Output:
// Default value of System.Nullable`1[System.Int32] is null.
// Default value of System.Numerics.Complex is (0, 0).
// Default value of System.Collections.Generic.List`1[System.Int32] is null.
varsayılan değişmez değer
Derleyici ifade türünü çıkarabildiğinde bir türün varsayılan değerini üretmek için değişmez değerini kullanabilirsiniz default
. Değişmez default
değer ifadesi, ifadeyle default(T)
aynı değeri üretir ve burada T
çıkarsanan türdür. Değişmez değeri default
aşağıdaki durumlardan herhangi birinde kullanabilirsiniz:
- Bir değişkenin atamasında veya başlatılmasında.
- İsteğe bağlı yöntem parametresi için varsayılan değerin bildiriminde.
- Bağımsız değişken değeri sağlamak için bir yöntem çağrısında.
- Bir
return
deyimde veya ifade gövdeli üyedeki bir ifade olarak.
Aşağıdaki örnekte değişmez değerin kullanımı gösterilmektedir default
:
T[] InitializeArray<T>(int length, T initialValue = default)
{
if (length < 0)
{
throw new ArgumentOutOfRangeException(nameof(length), "Array length must be nonnegative.");
}
var array = new T[length];
for (var i = 0; i < length; i++)
{
array[i] = initialValue;
}
return array;
}
void Display<T>(T[] values) => Console.WriteLine($"[ {string.Join(", ", values)} ]");
Display(InitializeArray<int>(3)); // output: [ 0, 0, 0 ]
Display(InitializeArray<bool>(4, default)); // output: [ False, False, False, False ]
System.Numerics.Complex fillValue = default;
Display(InitializeArray(3, fillValue)); // output: [ (0, 0), (0, 0), (0, 0) ]
İpucu
Kod tabanınızda değişmez değerin default
kullanımıyla ilgili bir tercih belirtmek için .NET stil kuralı IDE0034 kullanın.
C# dili belirtimi
Daha fazla bilgi için C# dil belirtiminin Varsayılan değer ifadeleri bölümüne bakın.