CodeBlanks Logo Icon CodeBlanks

const alanlar

C# kursu · Orta seviye · Ders 36/116

const ile derleme zamanı sabitleri tanımlamayı öğrenirsin.

const alanlar

Bir const alan, derleme zamanında değeri belirlenen değişmez üyedir. Tanımı: public const double Pi = 3.14;.

Const değerleri derleyici her başvuruda yerine koyar; yani Pi gördüğü yere 3.14 yazar. Bu yüzden const yalnızca sabit ifadeler alır: sayılar, dizeler ve diğer const'lar. Çalışma zamanı değeri (DateTime.Now, new Random()) verilemez. Const alanlar örtük olarak statiktir; ClassName.Pi ile erişilir.

const nerede uygun?

Const, uygulama ömrü boyunca hiç değişmeyecek ve derleme zamanında bilinen değerler için uygundur. Matematik sabitleri (Pi, E), yapılandırma sabitleri (MaxRetries, Timeout) ve seçim kodları buna örnektir.

Değer başka bir derlemeye (assembly) gömüldüğü için, const'u değiştirirsen onu kullanan tüm derlemeleri yeniden derlemen gerekir. Bu yüzden genel API'lerde static readonly tercih edilebilir. Örnek duruma göre değişen değerler için const kullanılamaz.

Uygulama Yapılandırma sabitleri

AppConfig sınıfına public const string Version = "1.0"; ve public const int MaxRetries = 3; alanlarını ekle. Main içinde ikisini de yazdır.

Örnek çözümü göster
AppConfig içine `public const string Version = "1.0";` ve `public const int MaxRetries = 3;` ekle. Main içine `Console.WriteLine(AppConfig.Version); Console.WriteLine(AppConfig.MaxRetries);` yaz.
Örnek çözüm:
using System;

class AppConfig
{
    public const string Version = "1.0";
    public const int MaxRetries = 3;
}

class Program
{
    static void Main()
    {
        Console.WriteLine(AppConfig.Version);
        Console.WriteLine(AppConfig.MaxRetries);
    }
}

Kendini test et

  1. Boşluğu doldur: const tanımı

    class AppConfig
    {
        public const string Version = ____;
    }
    Cevabı göster
    class AppConfig
    {
        public const string Version = "1.0";
    }
  2. Aşağıdakilerden hangisi geçerli bir const tanımıdır?

    • public const DateTime Build = DateTime.Now;
    • public const int MaxRetries = 3;
    • public const Random Rng = new Random();
    • public const int Count;
    Cevabı göster

    public const int MaxRetries = 3; — Doğru. `public const int MaxRetries = 3;` derleme zamanı sabiti içerir.

  3. Eşleştir: const özellikleri

    derleme zamanı
    değer belirlenir
    örtük statik
    ClassName ile erişim
    DateTime.Now
    geçersiz değer
    3.14
    geçerli değer

Orta seviye bölümündeki tüm dersler