Я понимаю, что String - это объект, в отличие от Int, и переменные объекта, как правило, ни на что не указывают, пока вы не создадите объект. Так что я знаю, как это работает.
Но, с точки зрения простого практического программирования, почему .NET не инициализирует строку как пустую (""), так как это, безусловно, наиболее распространенное использование строковой переменной - как строка, а не как объект
У меня никогда (пока) не было необходимости, чтобы строка была нулевой, то есть "не строка". Это кажется редким требованием. Я не могу сказать, что переменная типа int равна нулю, так зачем это делать со строкой? Наличие его в качестве опции, несомненно, необходимо, но почему .NET делает его нулевым для начала, когда int и т. Д. Заданы правильные начальные значения?
Я спрашиваю, потому что мне нравится понимать не только, как что-то работает, но и почему, так как это уменьшило мое желание разглагольствовать о том, как странно это кажется. :)