C# | Vypsat třídu
Vypsat třídu představuje seznam objektů, ke kterým lze přistupovat pomocí indexu. Spadá pod System.Collections.Generic jmenný prostor. Třídu List lze použít k vytvoření kolekce různých typů, jako jsou celá čísla, řetězce atd. Třída List také poskytuje metody pro vyhledávání, třídění a manipulaci se seznamy.
Vlastnosti:
- Liší se od polí. A Velikost seznamu lze dynamicky měnit ale pole nemohou.
- Třída seznamu může přijmout null jako platnou hodnotu pro typy odkazů a také umožňuje duplicitní prvky.
- Pokud se Počet rovná kapacitě, pak se kapacita Seznamu automaticky zvýší přerozdělením vnitřního pole. Stávající prvky budou zkopírovány do nového pole před přidáním nového prvku.
- Třída List je obecný ekvivalent třídy ArrayList implementací obecného rozhraní IList.
- Tato třída může používat srovnávač rovnosti i řazení.
- Třída seznamu není ve výchozím nastavení řazena a k prvkům se přistupuje pomocí indexu založeného na nule.
- U velmi velkých objektů seznamu můžete zvýšit maximální kapacita až 2 miliardy prvků v 64bitovém systému nastavením atributu enabled konfiguračního prvku na hodnotu true v běhovém prostředí.
Konstruktéři
| Konstruktér | Popis |
|---|---|
| Seznam() | Inicializuje novou instanci třídy List, která je prázdná a má výchozí počáteční kapacitu. |
| Seznam (IEpočetný) | Inicializuje novou instanci třídy List, která obsahuje prvky zkopírované ze zadané kolekce a má dostatečnou kapacitu pro počet zkopírovaných prvků. |
| Seznam(Int32) | Inicializuje novou instanci třídy List, která je prázdná a má zadanou počáteční kapacitu. |
Příklad:
// C# program to create a List> using> System;> using> System.Collections.Generic;> > class> Geeks {> > > // Main Method> > public> static> void> Main(String[] args)> > {> > > // Creating a List of integers> > List <> int> >první seznam => new> List <> int> >();> > > // displaying the number> > // of elements of List> > Console.WriteLine(firstlist.Count);> > }> }> |
Výstup:
0
Vlastnosti
| Vlastnictví | Popis |
|---|---|
| Kapacita | Získá nebo nastaví celkový počet prvků, které může vnitřní datová struktura pojmout bez změny velikosti. |
| Počet | Získá počet prvků obsažených v seznamu. |
| Položka[Int32] | Získá nebo nastaví prvek na zadaný index. |
Příklad:
// C# program to illustrate the> // Capacity Property of List> using> System;> using> System.Collections.Generic;> > class> Geeks {> > > // Main Method> > public> static> void> Main(String[] args)> > {> > > // Creating a List of integers> > // Here we are not setting> > // Capacity explicitly> > List <> int> >první seznam => new> List <> int> >();> > > // adding elements in firstlist> > firstlist.Add(1);> > firstlist.Add(2);> > firstlist.Add(3);> > firstlist.Add(4);> > > // Printing the Capacity of firstlist> > Console.WriteLine(> 'Capacity Is: '> + firstlist.Capacity);> > > // Printing the Count of firstlist> > Console.WriteLine(> 'Count Is: '> + firstlist.Count);> > > // Adding some more> > // elements in firstlist> > firstlist.Add(5);> > firstlist.Add(6);> > > // Printing the Capacity of firstlist> > // It will give output 8 as internally> > // List is resized> > Console.WriteLine(> 'Capacity Is: '> + firstlist.Capacity);> > > // Printing the Count of firstlist> > Console.WriteLine(> 'Count Is: '> + firstlist.Count);> > }> }> |
Výstup:
Capacity Is: 4 Count Is: 4 Capacity Is: 8 Count Is: 6
Metody
| Metoda | Popis |
|---|---|
| Přidat (T) | Přidá objekt na konec seznamu. |
| AddRange (IEnumerable) | Přidá prvky zadané kolekce na konec seznamu. |
| AsReadOnly() | Vrátí obálku ReadOnlyCollection pouze pro čtení pro aktuální kolekci. |
| BinarySearch() | Používá binární vyhledávací algoritmus k vyhledání určitého prvku v seřazeném seznamu nebo jeho části. |
| Průhledná() | Odebere všechny prvky ze seznamu. |
| Obsahuje (T) | Určuje, zda je prvek v seznamu. |
| Převést vše (převaděč) | Převede prvky v aktuálním seznamu na jiný typ a vrátí seznam obsahující převedené prvky. |
| Kopírovat do() | Zkopíruje seznam nebo jeho část do pole. |
| Rovná se (objekt) | Určuje, zda je zadaný objekt roven aktuálnímu objektu. |
| Existuje (predikát) | Určuje, zda seznam obsahuje prvky, které odpovídají podmínkám definovaným zadaným predikátem. |
| Najít (predikát) | Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí první výskyt v rámci celého seznamu. |
| Najít vše (predikát) | Načte všechny prvky, které odpovídají podmínkám definovaným zadaným predikátem. |
| FindIndex() | Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí nulový index prvního výskytu v seznamu nebo jeho části. Tato metoda vrátí -1, pokud není nalezena položka vyhovující podmínkám. |
| Najít Poslední (predikát) | Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí poslední výskyt v rámci celého seznamu. |
| NajítLastIndex() | Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí nulový index posledního výskytu v seznamu nebo jeho části. |
| Pro každou (akce) | Provede zadanou akci na každém prvku seznamu. |
| GetEnumerator() | Vrátí enumerátor, který iteruje seznamem. |
| GetHashCode() | Slouží jako výchozí hashovací funkce. |
| GetRange(Int32, Int32) | Vytvoří mělkou kopii řady prvků ve zdrojovém seznamu. |
| GetType() | Získá typ aktuální instance. |
| IndexOf() | Vrátí nulový index prvního výskytu hodnoty v seznamu nebo v jeho části. |
| Vložit (Int32, T) | Vloží prvek do seznamu na zadaný index. |
| InsertRange (Int32, IEnumerable) | Vloží prvky kolekce do seznamu na zadaný index. |
| LastIndexOf() | Vrátí nulový index posledního výskytu hodnoty v seznamu nebo v jeho části. |
| MemberwiseClone() | Vytvoří mělkou kopii aktuálního objektu. |
| Odebrat (T) | Odebere první výskyt určitého objektu ze seznamu. |
| Odebrat vše (predikát) | Odebere všechny prvky, které odpovídají podmínkám definovaným zadaným predikátem. |
| RemoveAt(Int32) | Odebere prvek na zadaném indexu seznamu. |
| RemoveRange(Int32, Int32) | Odebere řadu prvků ze seznamu. |
| Zvrátit() | Obrátí pořadí prvků v seznamu nebo jeho části. |
| Seřadit () | Seřadí prvky nebo část prvků v seznamu pomocí zadané nebo výchozí implementace IComparer nebo poskytnutého delegáta porovnání pro porovnání prvků seznamu. |
| ToArray() | Zkopíruje prvky seznamu do nového pole. |
| ToString() | Vrátí řetězec, který představuje aktuální objekt. |
| TrimExcess() | Nastaví kapacitu na skutečný počet prvků v seznamu, pokud je tento počet menší než prahová hodnota. |
| TrueForAll(Predicate) | Určuje, zda každý prvek v seznamu odpovídá podmínkám definovaným zadaným predikátem. |
Příklad 1:
// C# Program to check whether the> // element is present in the List> // or not> using> System;> using> System.Collections.Generic;> > class> Geeks {> > > // Main Method> > public> static> void> Main(String[] args)> > {> > > // Creating an List of Integers> > List <> int> >první seznam => new> List <> int> >();> > > // Adding elements to List> > firstlist.Add(1);> > firstlist.Add(2);> > firstlist.Add(3);> > firstlist.Add(4);> > firstlist.Add(5);> > firstlist.Add(6);> > firstlist.Add(7);> > > // Checking whether 4 is present> > // in List or not> > Console.Write(firstlist.Contains(4));> > }> }> |
Výstup:
True
Příklad 2:
// C# Program to remove the element at> // the specified index of the List> using> System;> using> System.Collections.Generic;> > class> Geeks {> > > // Main Method> > public> static> void> Main(String[] args)> > {> > > // Creating an List of Integers> > List <> int> >první seznam => new> List <> int> >();> > > // Adding elements to List> > firstlist.Add(17);> > firstlist.Add(19);> > firstlist.Add(21);> > firstlist.Add(9);> > firstlist.Add(75);> > firstlist.Add(19);> > firstlist.Add(73);> > > Console.WriteLine(> 'Elements Present in List:
'> );> > > int> p = 0;> > > // Displaying the elements of List> > foreach> (> int> k> in> firstlist)> > {> > Console.Write(> 'At Position {0}: '> , p);> > Console.WriteLine(k);> > p++;> > }> > > Console.WriteLine(> );> > > // removing the element at index 3> > Console.WriteLine(> 'Removing the element at index 3
'> );> > > // 9 will remove from the List> > // and 75 will come at index 3> > firstlist.RemoveAt(3);> > > int> p1 = 0;> > > // Displaying the elements of List> > foreach> (> int> n> in> firstlist)> > {> > Console.Write(> 'At Position {0}: '> , p1);> > Console.WriteLine(n);> > p1++;> > }> > }> }> |
Výstup:
Elements Present in List: At Position 0: 17 At Position 1: 19 At Position 2: 21 At Position 3: 9 At Position 4: 75 At Position 5: 19 At Position 6: 73 Removing the element at index 3 At Position 0: 17 At Position 1: 19 At Position 2: 21 At Position 3: 75 At Position 4: 19 At Position 5: 73
Odkaz: