Sobes.tech
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 "Пётр"