**[C# arrays 🚗](https://youtu.be/IHMmPVEOT64?si=arO-qw1DogdeVfkt)**
**Princip**
Pole je datová struktura, která umožňuje ukládat více hodnot stejného typu pod jedním názvem. Prvky pole se nazývají **prvky pole** a jsou přístupné pomocí **indexu**.
**Deklarace a inicializace pole**
Pole se deklaruje pomocí klíčového slova int a názvu pole, za kterým následuje hranatá závorka s udáním délky pole. Pole se inicializuje pomocí operátoru new a udáním hodnot prvků v hranatých závorkách.
**Příklad:**
```csharp
int[] cisla = new int[5] { 1, 2, 3, 4, 5 };
```
**Indexování**
Prvky pole se dají načíst a upravit pomocí indexu. Index je číslo, které identifikuje pozici prvku v poli. První prvek má index 0, druhý 1 atd.
**Příklad:**
```csharp
int cislo = cisla[2]; // Načte třetí prvek pole
cisla[2] = 10; // Upraví třetí prvek pole
```
**Referenční vs hodnotový datový typ**
Pole je referenční datový typ. To znamená, že proměnná, která ukazuje na pole, ukládá pouze referenci na dané pole v paměti. Pokud změníte hodnotu prvku pole, změní se i hodnota referenční proměnné.
**Hodnotové typy** se naproti tomu ukládají přímo do proměnné. Pokud změníte hodnotu hodnotové proměnné, kopíruje se nová hodnota do proměnné.
### **Metody:**
Metody jsou funkce, které jsou definovány v rámci třídy. Metody se dají volat z jiných částí kódu a dají se použít k provádění různých operací.
**Druhy metod:**
- **Statické metody:** Patří celé třídě a nezávisí na instanci dané třídy.
- **Instanční metody:** Patří instanci dané třídy a dají se volat pouze na objektu dané třídy.
**Příklady použití metod:**
- Provádění výpočtů
- Manipulace s daty
- Zobrazení informací
- Interakce s uživatelem
**Tipy:**
- Používejte pole pro ukládání souvisejících dat.
- Dbejte na správnou inicializaci pole.
- Používejte indexy s rozvahou, abyste se vyhnuli chybám.
- Pochopte rozdíl mezi referenčními a hodnotovými typy.
- Používejte metody pro modularizaci kódu a znovupoužití funkcionality.
Dobré pochopení principů práce s polem a metodami vám umožní psát efektivní a srozumitelný kód v jazyce C#.