Sobes.tech
Junior

İstinad və dəyər tipləri arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Məlumatların saxlanması və ötürülməsi üsulundakı fərqlər:

  • Dəyər Növləri (Value Types):

    • Birbaşa elan olunduğu yerdə (yığım və ya dəyər növü nümunəsi daxilində) saxlanılır.
    • Təyin və ya dəyər ilə ötürülərkən, dəyərin nüsxəsi yaradılır.
    • Primitiv növlər (int, float, bool və s.), strukturlar (struct) və enumlar (enum) daxildir.
    • Bağlanmış (sealed) və irs almaq mümkün deyil.
  • İstinad Növləri (Reference Types):

    • Yığımda saxlanılır. Dəyişən, dəyər deyil, yığımda ünvanına istinad edir.
    • Təyin və ya dəyər ilə ötürülərkən, yalnız istinad nüsxələnir, obyekt özü deyil.
    • Siniflər (class), interfeyslər (interface), delegatlar (delegate) və massivlər (array) daxildir.
    • İrsi dəstəkləyə bilər.
    • Çöp toplayıcı, istinad növü obyektlərinin sərbəst buraxılmasını idarə edir.
// Dəyər növü nümunəsi (struct)
struct Point
{
    public int X;
    public int Y;
}

// İstinad növü nümunəsi (class)
class Circle
{
    public int Radius;
}
Xüsusiyyət Dəyər Növləri İstinad Növləri
Saxlama yeri Yığım və ya dəyər növü nümunəsi daxilində Yığım
Təqdim və ya Təyin Dəyərin nüsxəsi İstinadın nüsxəsi
İrs almaq Yox Bəli
Yaddaş idarəetməsi Avtomatik (yığım) Çöp toplayıcı