Diziler ve Listeler: C#'ta Kullanım Karşılaştırması

Diziler Ve Listeler C Ta Kullanim Karsilastirmasi



C#'ta bir dizi, aynı veri türlerine ve tanımlanmış belirli bir boyuta sahip bir öğeler kümesidir. Öğelerin kaydedildiği bitişik bir bellek yığınını temsil eder. C#'taki diziler, indekslerini kullanarak üyelerine hızlı ve kolay bir isteğe bağlı erişim sunar. Liste, C# programlama dilinde aynı türde bileşenlerden oluşan bir grubu temsil eden dinamik bir veri yapısıdır. Dizilerden farklı olarak listelerin boyutu dinamik olarak büyüyebilir veya küçülebilir; bu da öğelerin verimli bir şekilde eklenmesine, çıkarılmasına ve değiştirilmesine olanak tanır. Bu makalede C# dizileri ile C# listeleri arasındaki benzerlikler ve farklılıklar ele alınmaktadır.

Beyanname:

Diziler “type[] ArrayName;” kullanılarak bildirilir. türün dizi koleksiyonundaki üyelerin türünü belirttiği sözdizimi ve 'ArrName' diziye atanan başlıktır. Bir dizinin bildirimi köşeli parantez [] ile gösterilir.

tip [ ] DiziAdı = yeni tip [ ] ;

Listeler “List LsName;” kullanılarak bildirilir. türün listedeki öğelerin veri türünü temsil ettiği sözdizimi ve “LsName” listeye verilen addır. Köşeli ayraçlar bunun genel bir tür bildirimi olduğunu gösterir.







Liste < tip > liste adı = yeni liste < tip > ( ) ;

Başlatma:

Diziler, değerleri çevrelemek için küme parantezleri {} kullanırken, listeler değerleri çevrelemek için yeni List yapıcısını ve ardından küme parantezleri {} kullanır.



tip [ ] DiziAdı = { v1 , v2 , v3 , ... } ;

Liste < tip > liste adı = yeni liste < tip > { v1 , v2 , v3 , ... } ;

Değer Ekleme:

C# dizilerinin belirli bir boyuta sahip olduğunu hatırlamak çok önemlidir. Farklı bir boyut gerekiyorsa, istenilen boyutta (geçerli uzunluk + yeni değer sayısı) yeni bir 'newArr' dizisinin oluşturulması gerekir. Orijinal dizi “OrgArr”ı yeni diziye ekleyin ve yeni değerleri yeni dizideki yeni konumlara atayın ve referansı yeni diziye güncelleyin.



Sıralamak. Kopyala ( OrgArr , yeniArr , OrgArr. Uzunluk ) ;

yeniArr [ OrgArr. Uzunluk ] = 14 ; // yeni değer

yeniArr [ OrgArr. Uzunluk + 1 ] = 2 ; // yeni değer

OrgArr = yeniArr ; // Referansı güncelleyin int[] NewArr = new int[OrgArr.Length + 2];

Listeler boyut yönetimi açısından esneklik sunar. Bir liste başlatıldığında, bir başlangıç ​​kapasitesiyle başlar ancak daha fazla öğe eklendikçe otomatik olarak genişleyebilir. Bu dinamik yeniden boyutlandırma özelliği, listelerin değişen gereksinimlere uyum sağlamasına olanak tanır. C# listeleri, değerleri listeye eklemek için bir Add() işlevi sağlar. Bir C# listesine nasıl değer ekleyebileceğiniz aşağıda açıklanmıştır:





Diziler ve Listeler : C'de Kullanım Karşılaştırması #

Değerlere Erişim

Dizi numaralarındaki değerlere indeks gösterimi [] kullanılarak, yani parantez içindeki indeks numarası kullanılarak erişilir ve başka bir değişkene kaydedilir.

tip öğesi = DiziAdı [ dizin ] ;

Bir C# listesindeki değerlere erişmek için dizilere benzer şekilde istenen dizin konumuyla birlikte dizin gösterimini [] de kullanabilirsiniz.



tip öğesi = Liste adı [ dizin ] ;

Değerlerin Kaldırılması

Dizilerin belirli bir uzunluğu vardır. Bu nedenle elemanları kaldırmak için daha küçük boyutta yeni bir dizi oluşturulmalı ve mevcut elemanlar kopyalanmalıdır. Bu, “Değer Ekleme” bölümünde açıklandığı gibi Array.Copy() işlevi kullanılarak yapılabilir. C# listelerinde değerlerin kaldırılması çok daha basit ve daha sezgiseldir. List sınıfı, belirli bir değeri listeden kaldırmanıza olanak tanıyan bir 'remove' yöntemi sağlar.

liste adı. Kaldırmak ( eleman ) ;

Değerleri Say

Bir C# dizisindeki değerleri saymak için dizinin uzunluk özelliğini kullanabilirsiniz. uzunluk özelliği dizideki toplam değer sayısını verir.

int saymak = diziAdı. Uzunluk ;

Bir C# listesindeki değerleri saymak için listenin 'count' özelliğini kullanabilirsiniz. Listede mevcut olan toplam öğe miktarı da aynı şekilde 'count' özelliği tarafından döndürülür.

int saymak = liste adı. Saymak ;

Değerleri Yineleyin

Bir C# dizisindeki değerleri yinelemek için, döngü koşulu olarak dizinin uzunluğunu içeren bir 'for' döngüsü kullanabilirsiniz.

için ( int Ben = 0 ; Ben < DiziAdı. Uzunluk ; Ben ++ ) {

e yazın = diziAdı [ Ben ] ;

Konsol. Yazı çizgisi ( Bu ) ;

}

Bir C# listesindeki değerler üzerinde yineleme yapmak için, öğeler üzerinde otomatik olarak yineleme yaparak yineleme işlemini basitleştirdiği için bir 'foreach' döngüsü kullanabilirsiniz.

her biri için ( listName'e e yazın ) {

Konsol. Yazı çizgisi ( Bu ) ;

}

Örnek 1: C# Dizileri

Verilen kod, “Arr” adında, uzunluğu 5 olan bir tamsayı dizisini bildirir, başlatır ve değerleri elemanlarına atar. Dizi elemanlarına atanan değerler 11, 12, 13, 14 ve 15'tir. Daha sonra kod, bir 'for' döngüsü kullanarak dizinin elemanlarını görüntülemeye devam eder. Her bileşen, Console.WriteLine() yöntemi kullanılarak ayrı bir satırda görüntülenir.

Orijinal öğeleri görüntüledikten sonra kod, indeks 2'deki öğeye 10'luk yeni bir değer atayarak onu değiştirir. Daha sonra kod, bir 'for' döngüsü kullanarak öğeler arasında tekrar yineleme yaparak değiştirilen diziyi görüntüler. Son olarak kod, dizinin uzunluğunu veren “Arr.Length” özelliğini kullanarak dizide bulunan değerlerin toplam sayısını görüntüler.

Sistemi kullanma ;

sınıf Kukla {

statik geçersiz Ana ( ) {

int [ ] Varış = yeni int [ 5 ] { on bir , 12 , 13 , 14 , on beş } ;

Konsol. Yazı çizgisi ( 'Elementler:' ) ;

için ( int Ben = 0 ; Ben < Varış. Uzunluk ; Ben ++ )

{

Konsol. Yazı çizgisi ( Varış [ Ben ] ) ;

}

Varış [ 2 ] = 10 ;

Konsol. Yazı çizgisi ( 'Değiştirilmiş dizi:' ) ;

için ( int Ben = 0 ; Ben < Varış. Uzunluk ; Ben ++ )

{

Konsol. Yazı çizgisi ( Varış [ Ben ] ) ;

}

Konsol. Yazı çizgisi ( 'Eleman sayısı: ' + Varış. Uzunluk ) ;

}

}

Örnek 2: C# Listeleri

Aşağıda sağlanan kod, bir tamsayı koleksiyonunu depolamak ve işlemek için C# listesinin kullanımını gösterir. İlk olarak kod, beş tamsayıya sahip 'Arr' adlı bir listeyi başlatır: 11, 12, 13, 14 ve 15. Bu, List sınıfı ve onun yapıcısı ile birlikte bir başlatıcı sözdizimi kullanılarak elde edilir.

Daha sonra program “Elements:” mesajını yazdırır ve bir “foreach” döngüsü kullanarak listedeki her öğe üzerinde yineleme yapmaya devam eder. Her yineleme sırasında geçerli öğe, Console.WriteLine() yöntemi kullanılarak konsola yazdırılır.

Daha sonra kod, listenin 2. indeksindeki değeri 10 değerini atayarak değiştirir (Arr[2] = 10). Bu satır, listedeki üçüncü öğeyi 13'ten 10'a değiştirir. Değişikliğin ardından program yeniden 'Değiştirilmiş liste:' mesajını yazdırır ve güncellenen liste üzerinde yinelenerek her öğeyi konsola yazdırır. Kod daha sonra 'Arr.Count'u kullanarak listedeki değerlerin sayısını görüntüler. Bu özellik, aşağıdaki senaryoda 5 olan listede bulunan öğelerin sayısını döndürür.

Son olarak kod, Arr.Remove(4) yöntemini kullanarak 4 değerine sahip öğeyi listeden kaldırır. Bu yöntem, listede belirtilen değeri arar ve ilk oluşumunu kaldırır. Son olarak, program “Kaldırıldıktan sonra listele:” mesajını yazdırır ve liste üzerinde bir kez daha yineleyerek kaldırma işleminden sonra kalan her öğeyi görüntüler.

Sistemi kullanma ;

Sistemi kullanarak. Koleksiyonlar . Genel ;

sınıf Kukla {

statik geçersiz Ana ( ) {

Liste < int > Varış = yeni liste < int > ( ) { on bir , 12 , 13 , 14 , on beş } ;

Konsol. Yazı çizgisi ( 'Elementler:' ) ;

her biri için ( int n Varışta )

{

Konsol. Yazı çizgisi ( N ) ;

}

Varış [ 2 ] = 10 ;

Konsol. Yazı çizgisi ( 'Değiştirilmiş liste:' ) ;

her biri için ( int n Varışta )

{

Konsol. Yazı çizgisi ( N ) ;

}

Konsol. Yazı çizgisi ( 'Eleman sayısı: ' + Varış. Saymak ) ;

Varış. Kaldırmak ( 4 ) ;

Konsol. Yazı çizgisi ( 'Kaldırıldıktan sonra listele:' ) ;

her biri için ( int n Varışta )

{

Konsol. Yazı çizgisi ( N ) ;

}

}

}

Çözüm

Bu kılavuz, C# dizileri ve C# listeleri arasındaki temel sözdizimi farklılıklarını kapsıyordu. Diziler sabit uzunluğa sahiptir ve dizine göre erişilirken, listeler dinamik olarak boyutlandırılmıştır ve öğeleri eklemek ve kaldırmak için ek yöntemler sağlar. Bununla birlikte, öğelerin bildirimini, başlatılmasını, erişilmesini, değiştirilmesini, sayılmasını ve eklenmesini gösteren C# liste programlarını sağladık.