• To`plam o`zgarmaslar
  • 1-qator: Nomlar maydonidan using System sinflardan foydalanishimiz mumkinligini anglatadi. 2-qator




    Download 0.73 Mb.
    bet7/43
    Sana15.10.2023
    Hajmi0.73 Mb.
    #87780
    1   2   3   4   5   6   7   8   9   10   ...   43
    Bog'liq
    C# asoslari
    biologiya-fanidan-5-9-sinf-testlar-1, 25-may senariy, 1-Маъруза, 2) 2021-22-ДАСТУР-ИПИ ва ИТИ, ИС, 479668, 5-seminar KP, ehtimollar maruza1, D Xusanov mustakil ishi Davlat soliq xizmati organlarida amalga oshiriladigan nazorat tadbirlari, 1690796889737, anketa, FOTOELEKTRON EMISSIYA VA UNING QO`LLANISHI, Abduqaxxorov. F, @XHUZB Юрт бўйнидаги қилич ёки истило, Konspekt. Konspekt turlari, xos xususiyatlari Vaqt 2 soat-fayllar.org

    C# O`zgarmaslar


    O`zgarmaslar qiymati dastur ishlash davomida o`zgarmaydigan o`zgaruvchilar. Dastur ishlash davomida o`garuvchining qiymatini o`zgartirmasdan saqlashga to`g`ri keladi.Masalan Pi sonini o`zgarmas sifatida saqlash maqsadga muvofiq. Bu uchun Pi o`zgarmas sifatida e`lon qilinishi kerak:
    const double Pi= 3.1415926535897932384626433832795;
    C# da 3 turdagi o`zgarmaslar mavjud: literalli, simvolli va to`plamli o`zgarmaslar. Quyidagi misolni ko`ramiz:
    x = 100;
    100 qiymati bu literalli o`zgarmas. 100 ning qiymati hamma vaqt 100. 100 ga yangi qiymat o`zlashtirish mumkin emas. 100 ni hech qachon 55 qiymatini ko`rsatadigan qilish mumkin emas. Simvolli o`zgarmaslar o`zgarmas qiymatga nom beradi.
    Simvolli o`zgarmaslarni const kalit so`zi orqali e`lon qilinadi va quyidagi sintaksis qo`llaniladi: const identifikator tipi = qiymat;
    Har bir o`zgarmas e`lon qilish vaqtida qiymat o`zlashtirilishi shart va uning qiymati dastur bajarilishi davomida o`zgartirilmasligi kerak: const double Pi= 3.1415926535897932384626433832795; Pi simvolli o`zgarmas.
    namespace UzbekDevs
    {
    internal class Program
    {
    static void Main(string[] args)
    {
    const double pi = 3.1415926535897932384626433832795;
    const double g = 9.81; //gravitasiya doimiysi
    Console.WriteLine("Pi soni: {0}", pi);
    Console.WriteLine("gravitasiya doimiysi: {0}", g);
    Console.ReadKey();
    }
    }
    }
    Dastur ishining natijasi quyidagicha:
    Pi soni: 3.1415926535897932384626433832795 gravitasiya doimiysi: 9.81 Simvolli o`zgarmaslar literalli o`zgarmaslar kabi bir vazifani bajaradi faqat ulardan farqi u nomga ega bo`lib, nomidan qanday maqsadda ishlatilayotganini aniqlash mumkin.
    To`plam o`zgarmaslar
     To`plam o`zgarmaslar kuchli alternativ o`zgarmaslar hisoblanadi. U bir nechta nomlangan o`zgarmaslardan iborat. Faraz qilay bizda bir necha kishinig tug`ilgan yili haqida ma`lumot bor. Dasturda ularni o`zgarmas sifatida e`lon qilish uchun quyidagicha yozish kerak:
    const int maryBirthday = 955;
    const int ivanBirthday = 1980;
    const int pavelBirthday = 1976;
    O`zaro bog`lanmagan 3 ta o`zgarmas hosil bo`ldi. Ular orasida mantiqiy bog`lanishni hosil qilish uchun to`plam o`zgarmaslardan foydalaniladi. U quyidagicha bo`ladi:
    enum FriendsBirthday
    {
    maryBirthday = 1955;
    ivanBirthday = 1980;
    pavelBirthday = 1976;
    }
    Har bir to`plam o`zgarmasning o`z tipi bo`ladi. Bu tiplar butun sonli tiplar(int, short, long,…), char tipi bulardan mustasno. Bu ko`rsatilgan tip har bir o`zgarmas uchun tegishli bo`ladi. Agar tip ko`rsatilmagan bo`lsa, unda int deb qabul qilinadi. Yuqoridagi misolda shunday qilingan.
    enum FriendsBirthday : long { maryBirthday = 1955; ivanBirthday = 1980; pavelBirthday = 1976; }
    Agar to`plam o`zgarmasning o`zgarmaslar qiymati ko`rsatilmagan bo`lsa, unda ular mos ravishda 0 dan boshlab qiymat qabul qiladi va qiymat bittadan oshib boradi:
    enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
    Bunda Sat=0, Sun=1,…, Fri=6 qiymat qabul qiladi.
    Agarda enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}; bo`lsa, unda Sat=1, Sun=2,…, Fri=7 qiymat qabul qiladi. Agarda enum Days {Sat=1, Sun, Mon=10, Tue, Wed, Thu, Fri}; bo`lsa, unda Sat=1, Sun=2, Mon=10,Tue=11,…, Fri=14 qiymat qabul qiladi. To`plam o`zgarmasning umumiy ko`rinishi:
    [attribut] [modifikator] enum identifikator [:tip] {o`zgarmaslar ro`yxati } [;]
    [] qavs bo`lishi yoki bo`lmasligi ham mumkin degan ma`noni bildiradi.
    To`plam o`zgarmasga murojaat quyidagicha amalga oshiriladi:
    Days.Sat yani identifikator.o`zgarmas
    To`g`ridan-to`g`ri o`zgarmasning qiymatini olish mumkin emas. Bu uchun avval enum tipini butun tipga o`girish kerak:
    namespace UzbekDevs
    {
    internal class EnumTest
    {
    enum Range : long { Max = 2147483648L, Min = 255L }
    static void Main(string[] args)
    {
    long x = (long)Range.Max;
    long y = (long)Range.Min;
    Console.WriteLine("Max = {0}", x);
    Console.WriteLine("Min = {0}", y);
    Console.ReadKey();
    }
    }
    }
    Natija:

    Download 0.73 Mb.
    1   2   3   4   5   6   7   8   9   10   ...   43




    Download 0.73 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    1-qator: Nomlar maydonidan using System sinflardan foydalanishimiz mumkinligini anglatadi. 2-qator

    Download 0.73 Mb.