Значение будет null
.
Имейте в виду, что новая система для ссылочных типов, допускающих обнуляемость, будет только предупреждать о проблемах, но не даст ошибка , и это означает, что код все еще будет компилироваться с предупреждениями.
Если вы объявите этот класс:
public class Test
{
private string text;
}
Вы получите это предупреждение для вашего класса:
CS8618: Non-nullable field 'text' is uninitialized.
Однако, код все еще компилируется .
Таким образом, чтобы (снова) ответить на ваш вопрос, значение по умолчанию для этого поля будет null
.
Примечание: Если вы используете этот оператор для объявления локальной переменной, ответ таков: у него не будет значения, оно будет считаться определенно неназначенным, и вам запрещено читать изэта переменная до тех пор, пока у вас не появится код, который определенно назначит ее первым.
Что касается предупреждений и ошибок, вы можете включить их в качестве ошибок, поиграв с параметрами проекта и перечислив список параметров.предупреждения, которые вы хотите рассматривать как ошибки.