Junior — Middle
Můžeš uvést hlavní typy dat, které používají odkazy, a vysvětlit jejich vlastnosti?
sobes.tech AI
Odpověď od AI
V jazyce C# jsou hlavní datové typy, které používají odkazy, referenční typy. Patří sem:
- Třídy (class) — objekty jsou vytvářeny na haldě, proměnná uchovává odkaz na objekt.
- Rozhraní (interface) — proměnná uchovává odkaz na objekt implementující rozhraní.
- Pole (array) — pole jsou také referenční typy.
- Delegáty (delegate) — odkazy na metody, také referenční typy.
Vlastnosti referenčních typů:
- Proměnná neukládá samotný objekt, ale odkaz na oblast paměti s objektem.
- Při přiřazení se kopíruje odkaz, nikoliv objekt.
- Objekty jsou vytvářeny na spravované haldě, garbage collector uvolňuje paměť.
- Může být hodnota null, což znamená, že neexistuje odkaz na objekt.
Příklad:
class Person {
public string Name;
}
Person p1 = new Person { Name = "Иван" };
Person p2 = p1; // p2 a p1 odkazují na stejný objekt
p2.Name = "Пётр";
Console.WriteLine(p1.Name); // Vypíše "Пётр"