Ниже показан MyEmpty, который является «", пока я думал, что это будет null.Почему переменная строки readonly автоматически назначается String.Empty ("")?
public class SomeClass
{
public static readonly String MyEmpty;
...
}
Если MyEmpty является "", а не null, то это должно быть так, как показано ниже?
public class SomeClass
{
public static readonly String MyEmpty = "";
...
}
Каким-то образом «readonly» делает это, но почему?
Заранее спасибо.
[Редактировать]
Я проверял эти два с помощью MessageBox.Show() при условии, что этот метод будет сгенерировано исключение, когда я даю ему нулевое значение. Но это вообще не вызывало каких-либо исключений, поэтому я подумал, что в моем первом коде MyEmpty не был нулевым, а «».
Спасибо, что пытались объяснить разницу между нулем и «», а также мою ошибку.
Вы назначаете его 'String.Empty' где-нибудь? Потому что 'String.Empty' - пустая строка (т. Е.' '' '), А не' null'. Это не одно и то же. – Spoike
Ну пуст назначается '' '' в конструкторе строки – V4Vendetta
Оценивается. Благодаря! –