Back to questions
ПИК Digital
Junior — Middle
64
Можешь перечислить основные особенности типов данных в C# и их отличия?
Companies where asked
Answer from AI
sobes.tech AI
В C# основные типы данных делятся на две категории: значимые (value types) и ссылочные (reference types).
-
Значимые типы хранят данные непосредственно в памяти, где объявлены. К ним относятся примитивные типы, такие как
int,double,bool, а также структуры (struct). При присваивании копируется значение. -
Ссылочные типы хранят ссылку на объект в управляемой куче. К ним относятся классы (
class), массивы, строки (string), делегаты. При присваивании копируется ссылка, а не сам объект.
Отличия:
- Значимые типы обычно быстрее и занимают меньше памяти, но имеют ограничения по функциональности.
- Ссылочные типы позволяют создавать сложные структуры данных и поддерживают наследование.
Пример:
int a = 5;
int b = a; // копируется значение
b = 10;
// a останется 5
class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // копируется ссылка
p2.Name = "Bob";
// p1.Name теперь "Bob"