C#
const alanlar
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
-
Boşluğu doldur: const tanımı
class AppConfig
{
public const string Version = ____;
}
Cevabı göster
class AppConfig
{
public const string Version = "1.0";
}
-
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.
-
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
Sıradaki ders: readonly alanlar