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


Programlama C , C# , C++ , Java , Python , Php , Javascript , Matlab Örnekleri

🎙️ LAFZONA Sesli ve görüntülü konuşma • İnteraktif yayıncılık • Müzik ve sohbet bir arada Katıl →
5Beğeni(ler)
  • 1 Gönderen ExCaLuBuR
  • 1 Gönderen She
  • 1 Gönderen WildCat
  • 1 Gönderen oMeN
  • 1 Gönderen Kadirşinas


 
 
Seçenekler Stil
Alt 21 Temmuz 2021, 05:09   #1
Standart 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.


C# Hashtable Sınıfı


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


C# Hashtable Sınıfı

Örneğimizde İl Telefon Kodu ve İl Adı için “sehirler” 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 sender, EventArgs 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 sender, EventArgs e)
        {
            
sehirler.Add(textBox1.Text, textBox2.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 sender, EventArgs 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 sender, EventArgs 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 sender, EventArgs e)
        {
            
sehirler.Add(textBox1.Text, textBox2.Text); //Değer Ekleme
            
textBox1.Text = "";
            
textBox2.Text = "";
            
Listele();
        }

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

        private 
void Form1_Load(object sender, EventArgs 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 sender, EventArgs e)
        {
            
sehirler.Remove(textBox4.Text);
            
Listele();
        }

    }
} 


Kaynak : [Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...]
👍 1
________________

🚀 TemaDepo ✦ Premium WordPress Temaları ✦ Canlı Demo Sistemi ✦ SEO & Kurulum Hizmetleri ✦ [Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...]

Konu ExCaLuBuR tarafından (11 Mart 2023 Saat 00:55 ) değiştirilmiştir..
 
Alt 21 Temmuz 2021, 20:12   #2
Özel Üye
She - ait Kullanıcı Resmi (Avatar)

Standart

Emeğinize sağlık

👍 1
 
Alt 21 Temmuz 2021, 20:24   #3
Kayıtlı Üye
WildCat - ait Kullanıcı Resmi (Avatar)

Standart

emeginize saglik

👍 1
________________

No MoRe DramA
 
Alt 22 Temmuz 2021, 19:08   #4
✰ ÖzeL..
oMeN - ait Kullanıcı Resmi (Avatar)

Standart

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

👍 1
________________

Edep; aklın Tercümanıdır. İnsan edebi kadar akıllı, Aklı kadar şerefli, Şerefi kadar Kıymetlidir. Massive..


 
Alt 22 Temmuz 2021, 19:09   #5
Atatürk'ün izinde
Türk'ün safhında
Kadirşinas - ait Kullanıcı Resmi (Avatar)

Standart

Emeğinize sağlık

👍 1
 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





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