c list dictionary tutorial with code examples
Bu Eğitimde C # Listesi ve Sözlüğü Örneklerle Açıklanmaktadır. C # Sözlüğü ve Listesindeki Öğeleri Nasıl Başlatacağınızı, Dolduracağınızı ve Erişeceğinizi Öğreneceksiniz:
C # Koleksiyonları ile ilgili önceki eğitimimizde, C # gibi ArrayList, Hashtable, Stack, SortedList, vb. Gibi koleksiyon türleri hakkında bilgi edindik. Bu koleksiyon türleri arasında ortak olan şey, her tür veri öğesini depolayabilmeleridir.
Bu, farklı veri türlerini tek bir koleksiyon varlığı içinde depolamak için oldukça yararlı görünmektedir, ancak olumsuz yanı, koleksiyondan veri alırken, uygulanabilir bir veri türüne veri dökümünün gerekli olmasıdır. Veri yayını olmadan, program bir çalışma zamanı istisnası atar ve uygulamayı engelleyebilir.
=> Herkes İçin ÜCRETSİZ C # Eğitim Dersleri
Bu sorunları çözmek için C # ayrıca genel koleksiyon sınıfları sunar. Genel bir koleksiyon, öğelerin depolanması ve geri alınması sırasında daha iyi performans sunar.
Ne öğreneceksin:
C # Listesi
Daha önceki makalelerde ArrayList hakkında bilgi almıştık. Temel olarak bir Liste, bir ArrayList'e benzer, tek fark Listenin genel olmasıdır. Liste, dizi listesine benzer şekilde, büyüdükçe boyutunu genişletme gibi benzersiz bir özelliğe sahiptir.
Liste Nasıl Başlatılır?
Bir listeyi aşağıdaki şekillerde başlatabiliriz:
//using List type for initialization List listInteger = new List(); //using IList type for initialization IList listString = new List();Yukarıdaki örneğe bakarsanız, ilk satırda List'i bir tamsayı listesi başlatmak için kullandığımızı görebilirsiniz. Ancak ikinci satırda, dizge listesinin ilklendirilmesi için IList'i kullandık. Programınız için bunlardan herhangi birini kullanabilirsiniz. Liste aslında IList arabiriminin gerçeklenmesidir.
Listeye Nasıl Eleman Eklenir ve Eklenir?
ArrayList'e benzer şekilde, Add () yöntemini kullanarak Listeye bir öğe ekleyebiliriz. Add yöntemi, veri türü değerini bağımsız değişken olarak kabul eder.
Sözdizimi
ListName.Add(DataType value);Listeye ve IList'e veri eklemek için basit bir programa bakalım.
Program:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List ;(); //Add elements to the list listInteger.Add(1); listInteger.Add(2); listInteger.Add(3); //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } } Öğe, Liste başlatılırken de doğrudan eklenebilir. Diziler bölümümüzde yaptığımıza benzer bir şekilde, değeri ilklendirme anında listeye doğrudan ekleyebiliriz.
Bu, Listeden sonra küme parantezleri koyarak ve ardından içindeki değeri virgülle ayırarak yazarak eklenebilir. Değeri doğrudan başlatma sırasında ekleyebilmemiz için yukarıdaki programı biraz değiştirelim.
Windows 10 için en iyi ekran alıntısı aracı
Yani, programımız şimdi şöyle görünecek:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } } Yukarıdaki programda, başlangıç sırasında başlangıçta tamsayı listesi değerlerini başlattık. Her değer için Add () yöntemi yazmadan değeri doğrudan iletmemize izin verdi. Bir listeye koymamız gereken, ölçülebilir sınırlı miktarda veriye sahipsek, bu oldukça kullanışlıdır.
Listeye Nasıl Erişilir?
Dizini kullanarak listeden tek tek öğelere erişebiliriz. Dizin, listenin adından sonra köşeli parantez içinde geçirilebilir.
Sözdizimi
dataType Val = list_Name(index);Şimdi, önceki programımızda oluşturduğumuz listeden verileri almak için basit bir programa bakalım.
Program
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; int val = listInteger(1); Console.WriteLine(val); } } Aşağıdaki programın çıktısı, dizin 1'deki değer olacaktır. Dizin 0'dan başlar, çıktı:
iki
Şimdi, Listeden tüm verileri almak istediğimizi varsayalım, bunu her döngü için veya bir döngü için kullanarak yapabiliriz.
Her Döngü İçin
Listedeki tüm verileri almak için her döngü için kullanabiliriz.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; foreach (var val in listInteger) { Console.WriteLine(val); } } } Burada her döngü için bir değişken değeri bildirerek liste boyunca döngü yaptık. Bu, içinde bazı veriler olana kadar listedeki her döngüye izin verecektir.
Döngü için
For döngüsünü kullanmak için listedeki elemanların sayısını bilmemiz gerekir. Öğe sayısını elde etmek için Count () yöntemi kullanılabilir.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; iBazen listeye yeni bir öğe de eklememiz gerekebilir. Bunu yapmak için, listenin herhangi bir yerine yeni yöntem eklemek için Insert () yöntemini kullanmamız gerekir. Ekleme yöntemi iki bağımsız değişken kabul eder; ilki, verileri eklemek istediğiniz dizindir ve ikincisi eklemek istediğiniz verilerdir.
Ek için sözdizimi şöyledir:
List_Name.Insert(index, element_to_be_inserted);Şimdi, daha önce oluşturduğumuz listenin içine bir öğe ekleyelim. Yukarıdaki programa bir insert ifadesi ekleyeceğiz ve nasıl çalıştığını görmeye çalışacağız:
Aşağıdakilerden hangisi sistem testi aşamasında değildir?
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i Yukarıdaki programı çalıştırırsak çıktı şöyle olur:
1
iki
3
Yeni değer girdikten sonra liste değeri
1
22
iki
3
For döngüsünden sonra, daha önce tanımlanan listede 1. indekse 22 tamsayısını eklemek için insert deyimini ekledik. Daha sonra, artık listede bulunan tüm öğeleri yazdırmak için her döngü için bir yazdık (İlk veriyi ekledikten sonra).
Listenin tüm öğelerinin indeks 1'deki yeni öğeye yer açmak için ileriye doğru kaydırıldığını çıktıdan açıkça görebiliyoruz. 1. indeks artık bir öğe olarak 22'ye sahiptir ve indeks 1'deki önceki öğe, yani 2'ye kaydırılmıştır. sonraki indeks vb.
Listeden Bir Eleman Nasıl Kaldırılır?
Bazen, listeden öğeleri de kaldırmamız gerekebilir. Bunu yapmak için C # iki farklı yöntem sunar. Bu iki yöntem, Remove () ve RemoveAt () 'dir. Remove, belirli bir öğeyi listeden kaldırmak için kullanılır ve RemoveAt, belirtilen dizinde bulunan herhangi bir öğeyi kaldırmak için kullanılır.
Söz dizimine bakalım.
Sözdizimi
Remove(Element name); RemoveAt(index); Şimdi, önceki koda Remove ifadesini ekleyelim ve ne olacağını görelim.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i Yukarıdaki programın çıktısı şöyle olacaktır:
1
iki
3
Listeden değer kaldırılıyor
1
3
Yukarıdaki programda, öğe 2'yi listeden çıkarmak için remove yöntemini kullandık. Çıktıda görebileceğiniz gibi, Kaldır yöntemi çalıştırıldıktan sonra, liste artık kaldırdığımız öğeyi içermiyor.
Benzer şekilde RemoveAt yöntemini de kullanabiliriz. Yukarıdaki programdaki Remove yöntemini RemoveAt () yöntemiyle değiştirelim ve parametre olarak dizin numarasını geçelim.
class Program { staticvoid Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i Yukarıdaki programın çıktısı şöyle olacaktır:
1
iki
3
Listeden değer kaldırılıyor
1
iki
Yukarıdaki programda, 2 tamsayısını kaldırmak yerine dizin 2'de bulunan öğeyi kaldırdığımızı açıkça görebilirsiniz. Bu nedenle, gereksinime bağlı olarak Remove () veya RemoveAt (), bir öğeden belirli bir öğeyi kaldırmak için kullanılabilir. liste.
C # Sözlük
C # sözlük, herhangi bir dilde sahip olduğumuz Sözlüğe benzer. Burada da bir kelime ve anlam koleksiyonumuz var. Sözcükler anahtar olarak bilinir ve anlamları veya tanımları değerler olarak tanımlanabilir.
Sözlük iki bağımsız değişkeni kabul eder, ilki anahtar ve ikincisi değerdir. Dictionary sınıfı veya IDictionary arayüzünün bir değişkeni kullanılarak başlatılabilir.
Sözlük sözdizimi şöyledir:
Dictionary Sözlüğü başlatmak için basit bir programa bakalım:
Dictionary data = new Dictionary();Yukarıdaki programda, sözlük verilerini hem anahtar hem de değerle bir dizge olarak başlattığımızı açıkça görebilirsiniz. Ancak, anahtarlar ve değerler için herhangi bir veri türü çiftini kullanabilirsiniz. Örneğin, Yukarıdaki ifadeyi farklı bir veri türü içerecek şekilde değiştirirsek, o zaman da doğru olacaktır.
Dictionary data = new Dictionary();Köşeli parantez içindeki veri türü anahtarlar ve değerler içindir. Herhangi bir veri türünü anahtar ve değer olarak tutabilirsiniz.
Sözlüğe Anahtarlar Ve Değerler Nasıl Eklenir?
Bir sözlüğü nasıl başlatabileceğimizi gördük. Şimdi sözlüğe anahtarları ve değerlerini ekleyeceğiz. Bir listeye farklı veriler ve değerleri eklemek istediğinizde sözlük oldukça kullanışlıdır. Sözlüğe veri eklemek için Add () yöntemi kullanılabilir.
Sözdizimi
DictionaryVariableName.Add(Key, Value);Şimdi, sözlüğe anahtarlar ve değerler eklemek için yukarıdaki programa Add deyimini dahil edelim.
Program
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); } } Yukarıdaki programda, anahtar ve değerleri sözlüğe eklemek için Add () yöntemini kullandık. Add () yöntemine iletilen ilk parametre anahtardır ve ikinci parametre, anahtarın değeridir.
Sözlükten Anahtarlara ve Değerlere Nasıl Erişilir?
Listedeki eğitimimizde tartışıldığı gibi, sözlükteki öğelere birkaç farklı yoldan da erişebiliriz. Burada ona erişebilmemizin birkaç önemli yolunu tartışacağız. Veri öğelerine erişim için her döngü ve indeks için döngü için tartışacağız.
Dizin, listeden belirli değerlere erişmek için kullanılabilir.
For döngüsü, sözlükteki tüm öğelere erişmek veya bunları almak için kullanılabilir, ancak döngüyü durdurmak için sözlüğün boyutunu gerektirir. Her döngü daha esnek olduğu için, sözlüğün boyutuna ihtiyaç duymadan sözlükteki tüm verileri alabilir.
İndekslemeyi Kullanma
Dizinden bir öğe, öğeye erişmek için bir diziye benzer şekilde kullanılabilir; temel fark, değerlere erişmek için dizin yerine anahtarlara ihtiyacımız olmasıdır.
Sözdizimi
Dictionary_Name(key); Program
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); string value = dctn('two'); Console.WriteLine(value); Console.ReadLine(); } } Yukarıdaki programın çıktısı şöyle olacaktır:
ikinci
Öğeye Erişim İçin Döngü Kullanma
For döngüsü, sözlüğün tüm öğelerine erişmek için kullanılabilir. Ancak aynı zamanda, gerekli yineleme sayısı için sözlüğün içindeki öğelerin sayısını da alması gerekir.
Sözlükten tüm değerleri almak için yukarıdaki programa for döngüsü ekleyelim.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); for(int i =0; i Yukarıdaki programın çıktısı şöyle olacaktır:
Anahtardaki öğe: bir ve değeri: ilk
Anahtardaki öğe: iki ve değeri: ikinci
Anahtardaki öğe: üç ve değeri: Üçüncü
Yukarıdaki programda, anahtarı belirli bir dizinde almak için ElementAt () yöntemini kullandık, ardından aynı anahtarı anahtar değerinin verilerini almak için kullandık. For döngüsü, sözlük içindeki tüm verileri yineler. Count özelliği, yineleme için sözlüğün boyutunu almak için kullanılmıştır.
Her Döngü İçin Kullanma
For döngüsüne benzer şekilde, her döngü için de kullanabiliriz.
c ++ 'da önişlemci yönergeleri ile örnek
Her döngü için yukarıdaki programa bir göz atalım.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); foreach (KeyValuePair item in dctn) { Console.WriteLine('The Key is :'+ item.Key+' - The value is: '+ item.Value); } Console.ReadLine(); } } Yukarıdaki programın çıktısı şöyle olacaktır:
Anahtar şudur: bir - Değer: ilk
Anahtar: iki - Değer: saniye
Anahtar şudur: üç - Değer: Üçüncü
Yukarıdaki program, değişkeni bildirmek için KeyValuePair'i kullanır, ardından sözlükteki anahtar-değer çiftlerinin her birini yineler ve bunu konsola yazdırırız.
Bir Sözlükteki Verilerin Varlığı Nasıl Doğrulanır?
Bazen sözlükte belirli bir anahtar veya değerin var olup olmadığını doğrulamamız gerekir. Bunu, sözlüğün içindeki mevcut anahtarı veya değeri kontrol etmek için ContainsValue () ve ContainsKey () gibi iki yöntem kullanarak doğrulayabiliriz.
İçerir yöntemi, verilen değerin sözlükte olup olmadığını doğrulamak için kullanılır. ContainsKey yöntemi, belirli bir anahtarın sözlükte olup olmadığını kontrol etmek için kullanılır.
Sözdizimi
Dictionary_Name.ContainsValue(Value); Dictionary_Name.ContainsKey(Key); Contains and ContainsKey yöntemini kullanarak doğrulamak için basit bir program yazalım.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); bool key = dctn.ContainsKey('one'); bool val = dctn.ContainsValue('four'); Console.WriteLine('The key one is available : ' + key); Console.WriteLine('The value four is available : ' + val); Console.ReadLine(); } } Yukarıdaki programın çıktısı şöyle olacaktır:
Anahtar olan mevcut: Doğru
Dört değeri mevcuttur: False
Yukarıdaki programda, verilen anahtarın sözlükte mevcut olup olmadığını doğrulamak için önce ContainsKey yöntemini kullandık. Anahtar sözlükte bulunduğundan, yöntem true değerini döndürür. Ardından, verilen değerin mevcut olup olmadığını belirlemek için ContainsValue kullanırız. Sözlüğün içinde 'dört' değeri bulunmadığından yanlış döndürür.
Sözlükten Bir Eleman Nasıl Kaldırılır?
Belirli programlama mantığını yerine getirmek için sözlükten belirli bir anahtar / değer çiftini kaldırmamız gereken bir zaman olabilir. Anahtar temelinde herhangi bir çifti sözlükten kaldırmak için kaldırma yöntemi kullanılabilir.
Sözdizimi
Remove(key); Program
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); //removing key two dctn.Remove('two'); //validating if the key is present or not bool key = dctn.ContainsKey('two'); Console.WriteLine('The key two is available : ' + key); Console.ReadLine(); } } Yukarıdaki programın çıktısı şöyle olacaktır:
Anahtar iki mevcut: Yanlış
Yukarıdaki programda önce sözlüğe bir anahtar-değer çifti ekledik. Sonra sözlükten bir anahtarı kaldırdık ve anahtar / değer çiftinin artık sözlükte mevcut olup olmadığını doğrulamak için ContainsKey () yöntemini kullandık.
Sonuç
Liste, belirli veri türünün öğelerini depolar ve öğeler eklendikçe büyür. Ayrıca birden çok yinelenen öğeyi depolayabilir. Listedeki öğelere indeks veya döngüler kullanarak kolayca erişebiliriz. Liste, büyük miktarda verinin depolanmasında çok faydalıdır.
Anahtar-değer çiftlerini saklamak için bir Sözlük kullanılır. Burada anahtarlar benzersiz olmalıdır. Sözlükteki değerler bir döngü veya dizin kullanılarak alınabilir. Contains yöntemini kullanarak anahtarları veya değerleri de doğrulayabiliriz.
=> Tam C # Eğitim Serisini Buradan İzleyin
Önerilen Kaynaklar
- Kod Örnekleriyle C # İstisna İşleme Eğitimi
- Örneklerle Python DateTime Eğitimi
- Kod Örnekleriyle C # İşlevleri / Yöntemleri Öğreticisi
- SVN Eğitimi: Subversion Kullanarak Kaynak Kodu Yönetimi
- C # Dize Eğitimi - Kod Örnekleriyle Dize Yöntemleri
- Tortoise SVN Eğitimi: Kod Deposundaki Revizyonlar
- Uygulamalı Örneklerle Python Tuple Eğitimi
- Örneklerle Unix'te Ls Komutu