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

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

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

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

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

    • const поддерживает только примитивные типы (int, string и т.д.).
    • readonly работает с любыми типами, включая объекты.
  1. Время вычисления:
    • const вычисляется во время компиляции (значение подставляется в IL-код).
    • readonly вычисляется в runtime.

Пример:

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

    public Example(int value) {
        ReadonlyValue = value; // Можно задать в конструкторе
    }
}

Используй const для констант, известных на этапе компиляции, а readonly — для значений, которые могут зависеть от runtime-логики.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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