Встречается на собеседованиях • сегодня
В чём разница между struct и class
Структуры (struct) и классы (class) в C# отличаются семантикой, поведением и использованием.
-
Тип данных:
struct— тип значения (хранится в стеке или внутри других объектов).class— ссылочный тип (хранится в куче, переменные содержат ссылку).
-
Наследование:
structне поддерживает наследование (кромеSystem.ValueType).classподдерживает полиморфизм и наследование.
-
Инициализация:
structнельзя создать без параметров (если нет конструктора по умолчанию).classможно создать черезnewилиnull.
-
Изменяемость:
structкопируется при передаче (изменения в методе не влияют на оригинал).classпередаётся по ссылке (изменения видны везде).
csharp
// Пример struct
struct Point { public int X, Y; }
// Пример class
class Person { public string Name; }
var p1 = new Point { X = 1, Y = 2 }; // Значение
var p2 = p1; // Копирование
p2.X = 5; // p1.X останется 1
var person1 = new Person { Name = "Alice" };
var person2 = person1; // Ссылка
person2.Name = "Bob"; // person1.Name тоже изменитсяКогда использовать:
struct— для небольших, неизменяемых данных (координаты, цвет).class— для сложных объектов с логикой и состоянием.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы