Aracılığıyla paylaş


const anahtar sözcüğü

Sabit bir alan veya yerel sabit bildirmek için anahtar sözcüğünü const kullanın. Sabit alanlar ve yerel değerler değişken değildir ve değiştirilemez. Sabitler sayı, Boole değeri, dize veya null başvuru olabilir. Zaman içinde değiştirmeyi beklediğiniz bilgileri temsil eden bir sabit oluşturmayın. Örneğin, bir hizmetin fiyatını, ürün sürüm numarasını veya şirketin marka adını depolamak için sabit bir alan kullanmayın. Bu değerler zaman içinde değişebilir ve derleyiciler sabitleri yaydığından, değişiklikleri görmek için kitaplıklarınızla derlenmiş diğer kodların yeniden derlenmesi gerekir. Ayrıca readonly anahtar sözcüğüne de bakın. Örneğin:

const int X = 0;
public const double GravitationalConstant = 6.673e-11;
private const string ProductName = "Visual C#";

Kullanılan tüm ifadeler de sabit dizeler ise, ilişkilendirilmiş dizeler sabit olabilir. Bu özellik, sabit dizeler oluşturan kodu geliştirebilir:

const string Language = "C#";
const string Platform = ".NET";
const string FullProductName = $"{Platform} - Language: {Language}";

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.

Sabit bildirimin türü, bildirimin tanıttığını üyelerin türünü belirtir. Yerel sabit veya sabit bir alanın başlatıcısı, derleyicinin örtük olarak hedef türe dönüştürebileceği sabit bir ifade olmalıdır.

Sabit ifade, derleyicinin derleme zamanında tam olarak değerlendirebildiği bir ifadedir. Bu nedenle, başvuru türlerinin sabitleri için tek olası değerler dizeler ve null başvurulardır.

Tek bir sabit bildirimde birden çok sabit bildirebilirsiniz, örneğin:

public const double X = 1.0, Y = 2.0, Z = 3.0;

Değiştiriciye static sabit bir bildirimde izin verilmez.

Sabit, aşağıdaki gibi bir sabit ifadeye katılabilir:

public const int C1 = 5;
public const int C2 = C1 + 100;

Uyarı

Readonly anahtar sözcüğü anahtar sözcükten const farklıdır. Bir alanı yalnızca alanın bildiriminde başlatabilirsiniz const . Bir readonly alanı bildirimde veya bir oluşturucuda başlatabilirsiniz. Bu nedenle, readonly kullanılan oluşturucuya bağlı olarak alanlar farklı değerlere sahip olabilir. Ayrıca, bir const alan derleme zamanı sabiti olsa da, bu satırda readonly olduğu gibi çalışma zamanı sabitleri için kullanılabilir: public static readonly uint l1 = (uint)DateTime.Now.Ticks;

Örnekler

public class ConstTest
{
    class SampleClass
    {
        public int x;
        public int y;
        public const int C1 = 5;
        public const int C2 = C1 + 5;

        public SampleClass(int p1, int p2)
        {
            x = p1;
            y = p2;
        }
    }

    static void Main()
    {
        var mC = new SampleClass(11, 22);
        Console.WriteLine($"x = {mC.x}, y = {mC.y}");
        Console.WriteLine($"C1 = {SampleClass.C1}, C2 = {SampleClass.C2}");
    }
}
/* Output
    x = 11, y = 22
    C1 = 5, C2 = 10
*/

Aşağıdaki örnekte yerel sabitin nasıl bildir olduğu gösterilmektedir:

public class SealedTest
{
    static void Main()
    {
        const int C = 707;
        Console.WriteLine($"My local constant = {C}");
    }
}
// Output: My local constant = 707

C# dil belirtimi

Daha fazla bilgi için C# dil belirtimininaşağıdaki bölümlerine bakın:

Ayrıca bakınız