Pole vs seznamy: Srovnání použití v C#

Pole Vs Seznamy Srovnani Pouziti V C



Pole v C# je sada položek s identickými datovými typy a definovanou specifickou velikostí. Představuje přilehlý kus paměti, kde jsou prvky uloženy. Pole v C# s využitím svého indexu nabízejí rychlý a snadný libovolný přístup ke svým členům. Seznam je dynamická datová struktura v programovacím jazyce C#, která představuje skupinu komponent stejného typu. Na rozdíl od polí mohou seznamy dynamicky růst nebo zmenšovat velikost, což umožňuje efektivní přidávání, odebírání a modifikaci prvků. V tomto článku jsou popsány podobnosti a rozdíly mezi poli C# a seznamy C#.

Prohlášení:

Pole jsou deklarována pomocí „type[] ArrayName;“ syntaxe, kde typ označuje typ členů v kolekci pole a „ArrName“ je název přiřazený poli. Deklarace pole je označena hranatými závorkami [].

typ [ ] Název pole = nový typ [ ] ;

Seznamy jsou deklarovány pomocí „List LsName;“ syntaxe, kde typ představuje datový typ prvků v seznamu a „LsName“ je název přidělený seznamu. Lomené závorky označují, že se jedná o deklaraci obecného typu.







Seznam < typ > listName = nový Seznam < typ > ( ) ;

Inicializace:

Pole používají k uzavření hodnot složené závorky {}, zatímco seznamy používají k uzavření hodnot nový konstruktor List následovaný složenými závorkami {}.



typ [ ] Název pole = { v1 , v2 , v3 , ... } ;

Seznam < typ > listName = nový Seznam < typ > { v1 , v2 , v3 , ... } ;

Přidání hodnot:

Je důležité si uvědomit, že pole C# mají specifickou velikost. Pokud je požadována jiná velikost, je třeba vytvořit nové pole „newArr“ s požadovanou velikostí (aktuální délka + počet nových hodnot). Přidejte původní pole „OrgArr“ do nového pole a přiřaďte nové hodnoty novým pozicím v novém poli a aktualizujte odkaz na nové pole.



Pole. kopírovat ( OrgArr , newArr , OrgArr. Délka ) ;

newArr [ OrgArr. Délka ] = 14 ; // nová hodnota

newArr [ OrgArr. Délka + 1 ] = 2 ; // nová hodnota

OrgArr = newArr ; // Aktualizace odkazu int[] NewArr = new int[OrgArr.Length + 2];

Seznamy nabízejí flexibilitu, pokud jde o správu velikosti. Když je seznam inicializován, začíná s počáteční kapacitou, ale může se automaticky rozšiřovat, jak jsou přidávány další prvky. Tato schopnost dynamické změny velikosti umožňuje seznamům přizpůsobit se měnícím se požadavkům. Seznamy C# poskytují funkci Add() pro přidání hodnot do seznamu. Zde je návod, jak můžete přidat hodnoty do seznamu C#:





Pole vs seznamy : Srovnání použití v C #

Přístup k hodnotám

K hodnotám v číslech pole se přistupuje pomocí zápisu indexu [], tedy pomocí čísla indexu v závorkách a ukládá se do jiné proměnné.

typový prvek = Název pole [ index ] ;

Chcete-li získat přístup k hodnotám v seznamu C#, můžete také použít zápis indexu [] spolu s požadovanou pozicí indexu podobně jako u polí.



typový prvek = Název seznamu [ index ] ;

Odstranění hodnot

Pole mají nastavenou délku. Chcete-li tedy prvky odebrat, je nutné vytvořit nové pole s menší velikostí a zkopírovat stávající prvky. To lze provést pomocí funkce Array.Copy(), jak je vysvětleno v části „Přidání hodnot“. V seznamech C# je odstranění hodnot mnohem jednodušší a intuitivnější. Třída List poskytuje metodu „odstranit“, která vám umožňuje odstranit konkrétní hodnotu ze seznamu.

listName. Odstranit ( živel ) ;

Počítejte hodnoty

Chcete-li počítat hodnoty v poli C#, můžete použít atribut délky pole. Vlastnost length udává celkový počet hodnot v poli.

int počet = název_pole. Délka ;

Chcete-li spočítat hodnoty v seznamu C#, můžete použít funkci „počítat“ seznamu. Celkový počet prvků, které se aktuálně nacházejí v seznamu, je rovněž vrácen atributem „count“.

int počet = listName. Počet ;

Opakujte hodnoty

Chcete-li iterovat hodnoty v poli C#, můžete použít smyčku „for“ s délkou pole jako podmínku smyčky.

pro ( int i = 0 ; i < Název pole. Délka ; i ++ ) {

typ e = název_pole [ i ] ;

Řídicí panel. WriteLine ( to je ) ;

}

Chcete-li iterovat hodnoty v seznamu C#, můžete použít smyčku „foreach“, která zjednodušuje proces iterace automatickým iterováním prvků.

pro každého ( zadejte e do listName ) {

Řídicí panel. WriteLine ( to je ) ;

}

Příklad 1: Pole C#

Daný kód deklaruje a inicializuje celočíselné pole s názvem „Arr“ o délce 5 a přiřazuje hodnoty jeho prvkům. Přiřazené hodnoty prvkům pole jsou 11, 12, 13, 14 a 15. Kód pak pokračuje k zobrazení prvků pole pomocí cyklu „for“. Každá komponenta je zobrazena na samostatném řádku pomocí metody Console.WriteLine().

Po zobrazení původních prvků kód upraví prvek na indexu 2 tak, že mu přiřadí novou hodnotu 10. Dále kód zobrazí upravené pole opětovným procházením prvků pomocí cyklu „for“. Nakonec kód zobrazí celkový počet hodnot, které se nacházejí v poli pomocí vlastnosti „Arr.Length“, která udává délku pole.

pomocí System ;

třída Dummy {

statický prázdnota Hlavní ( ) {

int [ ] Arr = Nový int [ 5 ] { jedenáct , 12 , 13 , 14 , patnáct } ;

Řídicí panel. WriteLine ( 'Elementy:' ) ;

pro ( int i = 0 ; i < Arr. Délka ; i ++ )

{

Řídicí panel. WriteLine ( Arr [ i ] ) ;

}

Arr [ 2 ] = 10 ;

Řídicí panel. WriteLine ( 'Upravené pole:' ) ;

pro ( int i = 0 ; i < Arr. Délka ; i ++ )

{

Řídicí panel. WriteLine ( Arr [ i ] ) ;

}

Řídicí panel. WriteLine ( 'Počet prvků:' + Arr. Délka ) ;

}

}

Příklad 2: C# Seznamy

Následující poskytnutý kód ukazuje použití seznamu C# k ukládání a manipulaci s kolekcí celých čísel. Nejprve kód inicializuje seznam s názvem „Arr“ s pěti celými čísly: 11, 12, 13, 14 a 15. Toho je dosaženo pomocí třídy List a jejího konstruktoru spolu se syntaxí inicializátoru.

Dále program vytiskne zprávu „Elements:“ a pokračuje v iteraci každého prvku v seznamu pomocí smyčky „foreach“. Během každé iterace se aktuální prvek vytiskne na konzolu pomocí metody Console.WriteLine().

Poté kód upraví hodnotu na indexu 2 seznamu tak, že jí přiřadí hodnotu 10 (Arr[2] = 10). Tento řádek změní třetí prvek v seznamu z 13 na 10. Po úpravě program znovu vypíše zprávu „Upravený seznam:“ a iteruje aktualizovaný seznam, přičemž každý prvek vytiskne do konzole. Kód pak zobrazí počet hodnot v seznamu pomocí „Arr.Count“. Tato vlastnost vrací počet položek, které jsou přítomné v seznamu, což je v následujícím scénáři 5.

Nakonec kód odebere ze seznamu prvek s hodnotou 4 pomocí metody Arr.Remove(4). Tato metoda vyhledá zadanou hodnotu v seznamu a odstraní její první výskyt. Nakonec program vytiskne zprávu „Seznam po odstranění:“ a znovu projde seznam, přičemž po operaci odstranění zobrazí každý zbývající prvek.

pomocí System ;

pomocí System. Sbírky . Obecný ;

třída Dummy {

statický prázdnota Hlavní ( ) {

Seznam < int > Arr = nový Seznam < int > ( ) { jedenáct , 12 , 13 , 14 , patnáct } ;

Řídicí panel. WriteLine ( 'Elementy:' ) ;

pro každého ( int n v Arr )

{

Řídicí panel. WriteLine ( n ) ;

}

Arr [ 2 ] = 10 ;

Řídicí panel. WriteLine ( 'Upravený seznam:' ) ;

pro každého ( int n v Arr )

{

Řídicí panel. WriteLine ( n ) ;

}

Řídicí panel. WriteLine ( 'Počet prvků:' + Arr. Počet ) ;

Arr. Odstranit ( 4 ) ;

Řídicí panel. WriteLine ( 'Seznam po odstranění:' ) ;

pro každého ( int n v Arr )

{

Řídicí panel. WriteLine ( n ) ;

}

}

}

Závěr

Tato příručka pokryla základní syntaktické rozdíly mezi poli C# a seznamy C#. Pole mají pevnou délku a jsou přístupné pomocí indexu, zatímco seznamy mají dynamickou velikost a poskytují další metody pro přidávání a odebírání prvků. Spolu s tím jsme poskytli seznamové programy C#, které předvádějí deklaraci, inicializaci, přístup, úpravy, počítání a přidávání prvků.