Что хранит в себе неинициализированная переменная в C#?

Собственно вопрос и состоит в этом: Что хранить в себе неинициализированная переменная в C#? Насколько я знаю, в С++ такие переменные хранят всякий "мусор", в Java null, а для C# не нашел информации, кроме как "выдаст ошибку"


Ответы (3 шт):

Автор решения: Huskey

C# является языком со статической типизацией. Это значит, что при создании переменной обязательно определяется тип хранящихся в ней данных, и этот тип нельзя изменить в ходе программы. (Исключение - тип dynamic)

Почитай тут - https://brainoteka.com/blogs/c-spravochnik/peremennie-c

→ Ссылка
Автор решения: default locale

Неинициализированным переменным присваиваются значения по умолчанию, а именно:

  • для ссылочных типов: null;
  • для встроенных числовых типов (int, double и т.п.): 0
  • для bool: false
  • для char: \0
  • для перечислений: значение выражения (E)0, где E — тип перечисления;
  • для структур: значение, созданное путем установки всем полям значений по умолчанию;
  • для Nullable: экземпляр, свойство HasValue которого имеет значение false, а свойство Value не определено.

Значение по-умолчанию для типа можно определить с помощью оператора default:

int a = default(int);

Также, начиная с C# 7.1 можно использовать литерал default для присвоения значений переменным:

int a = default;
→ Ссылка
Автор решения: Pavel Mayorov

В языке C# неинициализированнае переменные не хранят в себе ничего, поскольку язык не позволяет читать из таких переменных.

→ Ссылка