Sobes.tech
Junior — Middle

Dasturlash kontekstida const va readonly so'zlarining farqi nima, va qaysi hollarda ularni ishlatish afzaldir?

sobes.tech AI

AIdan javob

C# tilida, const kalit so'zi, kompilatsiya vaqtida ma'lum bo'ladigan va ish vaqtida o'zgartirilmaydigan doimiylarni e'lon qilish uchun ishlatiladi. Bunday qiymatlar primitiv yoki litral bo'lishi kerak va darhol boshlanishi kerak.

readonly esa, faqat sinfning e'lon qilinishi yoki konstruktorida belgilanishi mumkin bo'lgan maydonlar uchun qo'llaniladi. Boshlangandan so'ng, qiymat o'zgartirilmaydi, lekin ish vaqtida hisoblanishi mumkin.

Qachon ishlatish:

  • const — kompilatsiya vaqtida ma'lum bo'ladigan o'zgarmas qiymatlar uchun (masalan, raqamlar, satrlar).
  • readonly — qiymat faqat ish vaqtida ma'lum bo'lsa, masalan, konstruktor parametrlariga bog'liq bo'lsa.

Misol:

public class Example {
    public const double Pi = 3.1415; // kompilatsiya vaqtida ma'lum
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // ish vaqtida boshlash
    }
}