Aracılığıyla paylaş


set anahtar sözcüğü (C# Başvurusu)

anahtar sözcüğü, set özelliğe veya dizin oluşturucu öğesine değer atayan bir özellikte veya dizin oluşturucuda bir erişimci yöntemi tanımlar. Daha fazla bilgi ve örnek için bkz . Özellikler, Otomatik olarak uygulanan özellikler ve Dizin Oluşturucular.

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.

Tavsiye

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

Bir özelliğin get ve set erişimcinin özel bir yedekleme alanındaki değeri ayarlamak veya almaktan başka bir işlem gerçekleştirmediği basit durumlar için otomatik olarak uygulanan özellikleri kullanın. Aşağıdaki örnek, otomatik olarak uygulanan bir özellik olarak uygulanır Hours .

class TimePeriod3
{
    public double Hours { get; set; }
}

Önemli

Arabirim özelliği bildirimleri için otomatik olarak uygulanan özellikleri veya kısmi bir özellik için uygulama bildirimini kullanamazsınız. Derleyici, otomatik olarak uygulanan bir özelliği uygulayan bir bildirim olarak değil bildirim bildirimi olarak eşleşen söz dizimini yorumlar.

Erişimci gövdelerinden birini uygulamanız gerekebilir. field C# 14'e eklenen anahtar sözcüğü, alan destekli bir özellik bildirir. Siz diğerini el ile yazarken derleyicinin bir erişimci oluşturmasına izin vermek için alan destekli bir özellik kullanın. Derleyici sentezlenmiş field yedekleme alanına erişmek için anahtar sözcüğünü kullanın:

class TimePeriod4
{
    public double Hours {
        get;
        set => field = (value >= 0)
            ? value
            : throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
    }
}

Genellikle erişimci, set önceki örnekte olduğu gibi bir değer atayan tek bir deyimden oluşur. Erişimciyi set ifade gövdeli üye olarak uygulayabilirsiniz. Aşağıdaki örnek hem hem de getset erişimcilerini ifade gövdeli üyeler olarak uygular.

class TimePeriod2
{
    private double _seconds;

    public double Seconds
    {
        get => _seconds;
        set => _seconds = value;
    }
}

Aşağıdaki örnek, adlı getözelliğin hem a set hem Seconds de erişimcisini tanımlar. Özellik değerini yedeklemek için adlı _seconds özel bir alan kullanır.

class TimePeriod
{
    private double _seconds;

    public double Seconds
    {
        get { return _seconds; }
        set
        {
            if (value < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
            }
            _seconds = value;
        }
    }
}

C# dili belirtimi

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.

Ayrıca bkz.