IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi

IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi (https://www.ircrehberi.net/)
-   Programlama (https://www.ircrehberi.net/programlama/)
-   -   C# Hashtable Sınıfı (https://www.ircrehberi.net/programlama/78589-c-hashtable-sinifi.html)

ExCaLuBuR 21 Temmuz 2021 05:09

C# Hashtable Sınıfı
 
Daha önceki yazılarımızda ArrayList sınıfı ve Array sınıfını incelemiştik. Bu sınıflarda elemanlara erişmek için bir index numarası kullanmak gerekiyordu.

Fakat bazı durumlarda indeks numarası yerine bir koleksiyondaki elemanlara bir anahtar değer ile erişmek isteyebiliriz. Bu durumu System.Collections isim alanında bulunan Hashtable sınıfı kullanarak çözebiliriz. Hashtable sınıfında koleksiyonlar, bir anahtar (key) ve değer (value) ikilisi olarak saklanır. Bir Hashtable nesnesinin yapısını aşağıdaki şekilde düşünebiliriz.


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Şimdi konuyu daha iyi anlayabilmek için basit bir örnek oluşturalım.


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Örneğimizde İl Telefon Kodu ve İl Adı içinsehirler” isimli Hashtable koleksiyonuna ekleme yapma, Hashtable koleksiyonunu listview‘ de listeleme, koleksiyonda arama yapma ve Hashtable koleksiyonundan eleman silme işlemlerini gerçekleştireceğiz.

Listeleme işlemini yaparken il koduna göre sıralama işleminide gerçekleştireceğiz. Öncelikle C# yeni bir Windows Form uygulaması açarak işe başlıyoruz. Formumuz listview, textbox, label ve buttonlardan oluşmakta.

Kodlarımıza geçecek olursak;


İlk olarak Hashtable sınıfını kullanabilmemiz için gerekli olan System.Collection isim alanını ekliyoruz.

PHP- Kodu:

using System.Collections

Daha sonra public olarak Hashtable tanımlamamızı gerçekleştiriyoruz.

PHP- Kodu:

Hashtable sehirler = new Hashtable(); 


Listview’ de listeleme işlemini çok sık kullanacağız. Bu yüzden bir metot olarak tanımlıyoruz.


PHP- Kodu:

public void Listele()
        {
            
ListViewItem item = new ListViewItem();
            
ICollection kod sehirler.Keys;
            
listView1.Clear();

            
//Kolon Başlıkları ve Genişlikleri
            
listView1.Columns.Add("İl Kodu",60);
            
listView1.Columns.Add("İl Adı",120);

            
listView1.View View.Details;
            
listView1.GridLines true;

            foreach(
String eleman in kod)
            {
                
item listView1.Items.Add(eleman);
                
item.SubItems.Add(sehirler[eleman].ToString());
            }
            
//Küçükten büyüğe sıralama 
            //www.yazilimkodlama.com
            
listView1.Sorting SortOrder.Ascending

        } 


Form açıldığında koleksiyonumuza ilk değer atamalarını ve eklenen bu değerlerin listview‘ de listelenmesini aşağıdaki şekilde sağlayalım.

PHP- Kodu:

private void Form1_Load(object senderEventArgs e)
        {
            
//Hashtable değer ekleme.
            
sehirler.Add("322""ADANA");
            
sehirler.Add("416""ADIYAMAN");
            
sehirler.Add("272""AFYON");
            
sehirler.Add("472""AĞRI");
            
sehirler.Add("382""AKSARAY");
            
Listele();
        } 

Şimdi de Ekle butonuna geçelim. EKLE butonuna basıldığında Textbox lara girilen değerlerin koleksiyonumuza eklenmesini ve Listview‘ de listelenmesini sağlıyoruz. Görüleceği gibi değer ekleme işlemi yapıldıktan sonra textbox’ ların içeriği temizleniyor.

PHP- Kodu:

 private void button1_Click(object senderEventArgs e)
        {
            
sehirler.Add(textBox1.TexttextBox2.Text); //Değer Ekleme
            
textBox1.Text "";
            
textBox2.Text "";
            
Listele();
        } 

Arama bölümünde Textbox’ a girilen Alan koduna göre şehir ismini Label3‘ te görüntüleyeceğiz.

PHP- Kodu:

        private void button2_Click(object senderEventArgs e)
        {
            
//Ara butonu
            
string anahtar=textBox3.Text;
            
label3.Text sehirler[anahtar].ToString();
        } 


Son olarak silme işlemine geçiyoruz. Bu bölümde ilgili textbox’ a girilen alan koduna ait satırın silinmesini gerçekleştirip, listview‘ in yenilenmesini gerçekleştirelim.


PHP- Kodu:

        private void button3_Click(object senderEventArgs e)
        {
            
sehirler.Remove(textBox4.Text);
            
Listele();
        } 

Hepsi bu kadar :).

Kodlarımızın tamamı şu şekilde olacaktır.


PHP- Kodu:

using System;
using System.Collections;
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 
hashtable_
{
    public 
partial class Form1 Form
    
{
        public 
Form1()
        {
            
InitializeComponent();
        }

        
Hashtable sehirler = new Hashtable();
        public 
void Listele()
        {
            
ListViewItem item = new ListViewItem();
            
ICollection kod sehirler.Keys;
            
listView1.Clear();

            
//Kolon Başlıkları ve Genişlikleri
            
listView1.Columns.Add("İl Kodu",60);
            
listView1.Columns.Add("İl Adı",120);

            
listView1.View View.Details;
            
listView1.GridLines true;

            foreach(
String eleman in kod)
            {
                
item listView1.Items.Add(eleman);
                
item.SubItems.Add(sehirler[eleman].ToString());
            }
            
//Küçükten büyüğe sıralama 
            //www.yazilimkodlama.com
            
listView1.Sorting SortOrder.Ascending

        }
        private 
void button1_Click(object senderEventArgs e)
        {
            
sehirler.Add(textBox1.TexttextBox2.Text); //Değer Ekleme
            
textBox1.Text "";
            
textBox2.Text "";
            
Listele();
        }

        private 
void button2_Click(object senderEventArgs e)
        {
            
//Ara butonu
            
string anahtar=textBox3.Text;
            
label3.Text sehirler[anahtar].ToString();
        }

        private 
void Form1_Load(object senderEventArgs e)
        {
            
//Hashtable değer ekleme.
            
sehirler.Add("322""ADANA");
            
sehirler.Add("416""ADIYAMAN");
            
sehirler.Add("272""AFYON");
            
sehirler.Add("472""AĞRI");
            
sehirler.Add("382""AKSARAY");
            
Listele();
        }

        private 
void button3_Click(object senderEventArgs e)
        {
            
sehirler.Remove(textBox4.Text);
            
Listele();
        }

    }



Kaynak : [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

She 21 Temmuz 2021 20:12

Emeğinize sağlık

WildCat 21 Temmuz 2021 20:24

emeginize saglik

oMeN 22 Temmuz 2021 19:08

Paylaşım için teşekkürler dostum

Artist 22 Temmuz 2021 19:09

Emeğinize sağlık


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 01:30.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

Copyright ©2019 - 2023 | IRCRehberi