Sobes.tech
Junior

Фарқи байни навъҳои ишора ва навъҳои арзишӣ чист?

sobes.tech AI

Ҷавоб аз AI

Фарқиятҳо дар усули нигоҳдорӣ ва интиқоли маълумот:

  • Типҳои арзишӣ (Value Types):

    • Ба таври мустақим дар ҷойи ки онҳо эълон шудаанд (дар стек ё дар дохили намунаи типи арзишӣ) нигоҳ дошта мешаванд.
    • Ҳангоми таъин кардан ё гузаронидан бо арзиш, нусхаи арзиш сохта мешавад.
    • Ба он типҳои primitives (int, float, bool ва ғайра), структураҳо (struct) ва enumeration (enum) дохил мешаванд.
    • Баста (sealed) мебошанд ва наметавонанд мерос гиранд.
  • Типҳои истинодӣ (Reference Types):

    • Дар heap нигоҳ дошта мешаванд. Варақаи тағйирёбанда на арзиш, балки истинод ба суроға дар heap дорад.
    • Ҳангоми таъин кардан ё гузаронидан бо арзиш, танҳо истинод нусхабардорӣ мешавад, на объект.
    • Ба он классҳо (class), интерфейсҳо (interface), делегатҳо (delegate) ва массивҳо (array) дохил мешаванд.
    • Мумкин аст, ки меросгирӣ кунад.
    • Коллектори партовҳо ёрдам мекунад, ки ёдгории объектҳои истинодӣ, ки дигар истинодҳои фаъол ба онҳо нест, озод кунад.
// Намунаи типи арзишӣ (struct)
struct Point
{
    public int X;
    public int Y;
}

// Намунаи типи истинодӣ (class)
class Circle
{
    public int Radius;
}
Хусусият Типҳои арзишӣ Типҳои истинодӣ
Макон нигоҳдорӣ Стек ё дар дохили намунаи типи арзишӣ Ҳалд
Трансфер/таъин Нусхаи арзиш Нусхаи истинод
Меросгирӣ Не Бале
Идоракунии хотира Автоматӣ (стек) Коллектори партовҳо