Mavzu: Ma’lumotlarni saqlovchi kolleksiyalardan foydalanish (C# tilida)


Download 351.29 Kb.
bet6/10
Sana15.06.2023
Hajmi351.29 Kb.
#1487438
1   2   3   4   5   6   7   8   9   10
Bog'liq
Iskandarov Otaxon Kurs ishi

bool TryDequeue(out T result) : navbatning birinchi elementini navbatdan olib tashlash bilan o'zgarmaydigan natijaga o'tkazadi, trueagar navbat bo'sh bo'lmasa va element muvaffaqiyatli qabul qilingan bo'lsa, qaytaradi.

  • bool TryPeek(out T natijasi) : navbatning birinchi elementini navbatdan olib tashlamasdan o'zgarmaydigan natijaga o'tkazadi, trueagar navbat bo'sh bo'lmasa va element muvaffaqiyatli olinsa, qaytaradi.

    Qo'llash usullari:
    var people = new Queue();

    // elementlar qo'shish


    people.Enqueue("Tom"); // odamlar = {Tom}

    // elementlarni olib tashlash


    var muvaffaqiyat1 = people.TryDequeue(out var person1); // muvaffaqiyat1 = rost
    agar (muvaffaqiyatli1) Console.WriteLine(shaxs1); // Tom

    var muvaffaqiyat2 = people.TryPeek(out var person2); // muvaffaqiyat2 = noto'g'ri


    agar (muvaffaqiyatli2) Console.WriteLine(shaxs2);
    Navbatlar haqiqiy hayotda juda keng tarqalgan tuzilmadir. Masalan, shifokorga murojaat qilish uchun bemorlarning navbati. Keling, ushbu vaziyatni amalga oshiramiz:
    var bemorlar = new Queue
    ();
    bemorlar.Enqueue(yangi shaxs("Tom"));
    bemorlar.Enqueue(yangi shaxs("Bob"));
    bemorlar.Enqueue(yangi shaxs("Sam"));

    var amaliyotchi = new Doctor();


    amaliyotchi.TakePatient(bemorlar);

    sinf odami


    {
    umumiy qator nomi { olish; }
    ommaviy Shaxs(string nomi) => Ism = ism;
    }

    sinf doktori


    {
    umumiy bekor TakePatient(Queue
    bemorlar)
    {
    while(bemorlar soni > 0)
    {
    var bemor = bemorlar.Dequeue();
    Console.WriteLine($"Bemorni tekshirish {bemor.Name}");
    }
    Console.WriteLine("Doktor bemorlarni tekshirishni tugatdi");
    }
    }
    Bu yerda shifokor sinfi - TakePatient usulidagi Doctor sinfi Person ob'ektlari ko'rinishidagi bemorlarning navbatini oladi. Navbatda ob'ektlar mavjud bo'lsa-da, u bir vaqtning o'zida bitta ob'ektni chiqaradi. Konsol chiqishi:
    Bemorni tekshirish Tom
    Bobning bemorini tekshirish
    Bemorning tekshiruvi Sem
    Shifokor bemorlarni tekshirishni tugatdi

    Download 351.29 Kb.

    Do'stlaringiz bilan baham:
  • 1   2   3   4   5   6   7   8   9   10




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
    ma'muriyatiga murojaat qiling