Junior — Middle
Môžeš uviesť hlavné typy údajov, ktoré používajú odkazy, a vysvetliť ich vlastnosti?
sobes.tech AI
Odpoveď od AI
V jazyku C# sú hlavné dátové typy, ktoré používajú referencie, referenčné typy. Patria sem:
- Triedy (class) — objekty sa vytvárajú na halde, premenná uchováva odkaz na objekt.
- Rozhrania (interface) — premenná uchováva odkaz na objekt, ktorý implementuje rozhranie.
- Pole (array) — pole sú tiež referenčné typy.
- Delegáty (delegate) — odkazy na metódy, tiež referenčné typy.
Vlastnosti referenčných typov:
- Premenná neukladá samotný objekt, ale odkaz na oblasť pamäti s objektom.
- Pri priraďovaní sa kopíruje odkaz, nie objekt.
- Objekty sa vytvárajú na spravovanej halde, zberač odpadkov uvoľňuje pamäť.
- Môže mať hodnotu null, čo znamená absenciu odkazu na objekt.
Príklad:
class Person {
public string Name;
}
Person p1 = new Person { Name = "Иван" };
Person p2 = p1; // p2 a p1 odkazujú na ten istý objekt
p2.Name = "Пётр";
Console.WriteLine(p1.Name); // Vypíše "Пётр"