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
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
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
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
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ů.