Чим відрізняється value type від reference type у C#?
Value type (struct, int, bool, enum) зберігає дані напряму і копіюється під час присвоєння; reference type (class, string, масиви) зберігає вказівник на купу, і при присвоєнні копіюється вказівник, а не дані. Передавання структури в метод і зміна її всередині змінює лише копію, якщо не передати її через ref.