Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про C#: structure, oop, class, c#

В чем разница между структурой и классом в C#?

Этот вопрос проверяет знание различий между двумя основными типами данных, используемыми в C#.

Короткий ответ

Класс и структура в C# похожи, но имеют ключевые различия. Класс — это ссылка на объект, а структура — это значение. Классы обычно используются для более сложных объектов, а структуры — для небольших, легких объектов.

Длинный ответ

В C# класс и структура похожи, но они имеют несколько важных различий:

Тип данных:

  • Класс является ссылочным типом, что означает, что переменная хранит ссылку на объект в памяти.

  • Структура — это тип значения, и переменная хранит непосредственно данные.

Использование памяти:

  • Классы создаются в куче, а структуры — в стеке.

Наследование:

  • Классы могут наследоваться, а структуры — нет.

Конструкторы:

  • Структуры не могут иметь явного конструктора без параметров.

Пример использования структуры и класса:

public class Car
{
    	public string Model { get; set; }
}

public struct Point
{
    	public int X;
    	public int Y;
}

class Program
{
    	static void Main()
    	{
        	Car car1 = new Car { Model = "Toyota" };
        	Car car2 = car1; // car2 - ссылка на тот же объект
        	car2.Model = "Honda";
        	Console.WriteLine(car1.Model);  // Вывод: Honda

        	Point point1 = new Point { X = 10, Y = 20 };
        	Point point2 = point1; // point2 - копия данных
        	point2.X = 30;
        	Console.WriteLine(point1.X);  // Вывод: 10
    	}
}

В этом примере показано, как классы и структуры ведут себя по-разному при присваивании и изменении значений.

Уровень

  • Рейтинг:

    2

  • Сложность:

    4

Навыки

  • C#

    C#

Ключевые слова

#structure

#oop

#class

#c#

Подпишись на C# Developer в телеграм