Встречается на собеседованиях • сегодня

В чем разница между const и readonly

const и readonly в C# используются для объявления неизменяемых значений, но имеют ключевые различия:

  1. Инициализация

    • const требует значения при объявлении (const int Max = 100;).
    • readonly можно инициализировать в объявлении или в конструкторе класса.
  2. Типы данных

    • const работает только с примитивами и строками.
    • readonly поддерживает любые типы, включая объекты.
  1. Время вычисления

    • const вычисляется на этапе компиляции (значение подставляется напрямую в IL-код).
    • readonly вычисляется в runtime.
  2. Область применения

    • const — только для полей класса.
    • readonly — для полей и свойств (с сеттером init в C# 9+).

Пример:

csharp
public class Example
{
    public const int ConstValue = 10; // Обязательно инициализировать здесь
    public readonly int ReadonlyValue;

    public Example(int value)
    {
        ReadonlyValue = value; // Можно инициализировать в конструкторе
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы