V> lug'at klassi ikki turga bo'linadi: k parametri kalit turini, V



Download 42,64 Kb.
Sana28.02.2022
Hajmi42,64 Kb.
#474068
Bog'liq
1-dars Lugatlar


Lug'atlar boshqa keng tarqalgan to'plam turidir. Lug'at kalit-qiymat juftligini ifodalovchi ob'ektlarni saqlaydi. Dictionary< K , V> lug'at klassi ikki turga bo'linadi: K parametri kalit turiniV parametri esa qiymat turini beradi.
Lug'at yaratish va ishga tushirish
Lug'at sinfi lug'at yaratish uchun bir qancha konstruktorlarni taqdim etadi. Masalan, biz bo'sh lug'at yaratishimiz mumkin:

bitta

Dictionary people = new Dictionary();

Bu erda lug'at peopleint qiymatlarini kalit sifatida va satrlarni qiymat sifatida qabul qiladi.
Lug'atni belgilashda uni darhol qiymatlar bilan ishga tushirishingiz mumkin:

1
2
3
4
5
6

var people = new Dictionary()
{
{ 5, "Tom"},
{ 3, "Sam"},
{ 11, "Bob"}
};

Initsializatsiya paytida initsializator ishlatiladi - konstruktorni chaqirgandan so'ng jingalak qavslarda dastlabki ma'lumotlar ob'ektga uzatiladi. So'z bo'lsa, biz inisializerga elementlar to'plamini o'tkazishimiz mumkin, bu erda har bir element jingalak qavslar ichiga olinadi, masalan:

1

{ 5, "Tom"}

Har bir element ikkita qiymatni ifodalaydi: birinchi qiymat kalitni, ikkinchi qiymat element qiymatini bildiradi. Odamlar lug'atini e'lon qilishda kalitlar turdagi intva qiymatlar turdagi bo'lganligi stringsababli, lug'at elementi avval int raqamini, keyin esa qatorni belgilaydi. Ya'ni, yuqoridagi holatda, element 5 kalitiga ega va qiymat "Tom" dir. Keyin elementning kalitidan element qiymatini olishimiz mumkin.
Biz ishga tushirishning boshqa usulidan ham foydalanishimiz mumkin:

1
2
3
4
5
6

var people = new Dictionary()
{
[5] = "Tom",
[6] = "Sam",
[7] = "Bob"
};

Ushbu ishga tushirish usuli bilan kalit kvadrat qavslar ichida ko'rsatiladi va elementning qiymati unga tayinlanadi. Ammo umuman olganda, bu ishga tushirish usuli avvalgisiga teng bo'ladi.
namespace Dictionery
{
class Lugat
{
RichTextBox rt;
Dictionary dn = new Dictionary();
public Lugat(RichTextBox rt) { this.rt = rt; }
public void Joylah(int n, string str)
{
if (!dn.ContainsKey(n))
dn.Add(n, str);
else { MessageBox.Show("Bu kalit mavjud"); return; }
}
public void Chop()
{
foreach (var i in dn)
rt.Text += (i.Key + " " + i.Value + "\n");

}
public void Deletete_key(int n)


{
dn.Remove(n);
Chop();
}

public bool Key_Find(int n)


{
return dn.ContainsKey(n);
}

public bool Value_Find(String str)


{
return dn.ContainsValue(str);
}
}
}

using System;


using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Dictionery


{
public partial class Form1 : Form
{
Lugat ob;
public Form1()
{
InitializeComponent();
ob = new Lugat(richTextBox1);
}

private void Form1_Load(object sender, EventArgs e)


{
}

private void button1_Click(object sender, EventArgs e)


{
ob.Joylah(Convert.ToInt32(textBox1.Text), textBox2.Text);
}

private void button2_Click(object sender, EventArgs e)


{
ob.Chop();
}

private void button3_Click(object sender, EventArgs e)


{
ob.Deletete_key(Convert.ToInt32(textBox3.Text));
}

private void button4_Click(object sender, EventArgs e)


{
if (ob.Key_Find(Convert.ToInt32(textBox4.Text)))
MessageBox.Show("Mavjud");
else MessageBox.Show("Mavjud emas");
}

private void button5_Click(object sender, EventArgs e)


{
if (ob.Value_Find(textBox5.Text))
MessageBox.Show("Mavjud");
else MessageBox.Show("Mavjud emas");
}
}
}




Download 42,64 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish