Sobes.tech
Junior

C# da lug'at nima?

sobes.tech AI

AIdan javob

C# tilida Dictionary — bu "kalit-qiymat" juftlarini saqlovchi to'plam bo'lib, har bir kalit unikal bo'lib, mos qiymatga tez kirish uchun ishlatiladi. IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable interfeyslarini amalga oshiradi. Hash jadvalga asoslangan.

Asosiy xususiyatlar:

  • Tartibsiz: Lug'atdagi elementlarning tartibi kafolatlanmaydi va qo'shish/o'chirish bilan o'zgarishi mumkin.
  • Ishlash tezligi: Kalit bo'yicha qo'shish, o'chirish va qidirish operatsiyalari o'rtacha O(1) murakkablikka ega (ideal holatda, hash to'qnashuvi bo'lmagan holda) va eng yomon holatda O(n).
  • Kalitlarning unikaligi: Har bir kalit lug'atda unikal bo'lishi kerak. Mavjud kalit bilan element qo'shishga urinish istisno bilan tugaydi.

Foydalanish misoli:

// Lug'at yaratish
Dictionary<string, int> o'quvchilar = new Dictionary<string, int>();

// Elementlar qo'shish
o'quvchilar.Add("Ivanov", 5);
o'quvchilar["Petrov"] = 4; // Alternativ qo'shish/yangilash usuli

// Kalit mavjudligini tekshirish
if (o'quvchilar.ContainsKey("Ivanov"))
{
    // Kalit bo'yicha qiymatni olish
    int baho = o'quvchilar["Ivanov"]; // baho == 5
}

// Elementlarni aylanib chiqish
foreach (KeyValuePair<string, int> o'quvchi in o'quvchilar)
{
    // o'quvchi.Key - kalit, o'quvchi.Value - qiymat
    Console.WriteLine($"{o'quvchi.Key}: {o'quvchi.Value}");
}

// Elementni o'chirish
o'quvchilar.Remove("Petrov");

Boshqa to'plamlar bilan taqqoslash:

To'plam Asosiy maqsad Indeks orqali kirish Kalit orqali kirish Kalitlarning unikaligi Tartiblanganligi
List<T> Elementlar ketma-ketligi Ha Yo'q Yo'q Ha
HashSet<T> Unikal elementlar to'plami Yo'q Yo'q Ha Yo'q
Dictionary<TKey, TValue> Tez qidiruv uchun kalit-qiymat juftlari Yo'q Ha Ha Yo'q