Знаете ref struct?

ref struct в C# — это специальный тип структуры, который гарантированно размещается в стеке, а не в куче.

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

Что ответить на собеседовании

ref struct в C# — это специальный тип структуры, который гарантированно размещается в стеке, а не в куче. Такие структуры нельзя копировать или хранить в куче, что повышает безопасность и производительность при работе с небезопасным кодом или большими объемами данных.

Подробный разбор

Ответ с пояснениями

ref struct в C# — это специальный тип структуры, который гарантированно размещается в стеке, а не в куче. Такие структуры нельзя копировать или хранить в куче, что повышает безопасность и производительность при работе с небезопасным кодом или большими объемами данных.

Основные особенности ref struct:

  • Не может реализовывать интерфейсы.
  • Нельзя использовать в async-методах (т.к. они могут быть отложены и перемещены в кучу).
  • Используется, например, в Span<T>, который позволяет работать с непрерывными участками памяти без аллокаций.

Пример объявления:

ref struct MyRefStruct
{
    public int Value;
}

void Process()
{
    MyRefStruct s = new MyRefStruct { Value = 10 };
    // s живет в стеке и не может быть сохранен в куче
}

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку