Aracılığıyla paylaş


Varsayılan değer ifadeleri

Varsayılan değer ifadesi, bir türün varsayılan değerini üretir. İki tür varsayılan değer ifadesi vardır: default işleç çağrısı ve değişmez default değer.

Ayrıca deyimi içinde default varsayılan büyük/küçük harf etiketi switcholarak anahtar sözcüğünü de kullanırsınız.

C# dili başvuru belgesi, C# dilinin en son yayımlanan sürümünü gösterir. Ayrıca, yaklaşan dil sürümü için genel önizlemelerdeki özelliklere yönelik ilk belgeleri içerir.

Belgelerde ilk olarak dilin son üç sürümünde veya geçerli genel önizlemelerde sunulan tüm özellikler tanımlanır.

Tip

Bir özelliğin C# dilinde ilk tanıtıldığı zamanları bulmak için C# dil sürümü geçmişi makalesine bakın.

default operatör

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.

default Literal

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:

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) ]

Tip

Kod tabanınızda değişmez değerin kullanımıyla ilgili bir tercih belirtmek için .NET stil kuralı default kullanın.

C# dil belirtimi

Daha fazla bilgi için C# dil belirtimininVarsayılan değer ifadeleri bölümüne bakın.

Ayrıca bakınız