Я думаю, что ответ очень прост, но трудно получить оценку asp, если вы не знаете разницы между типами значений и ссылочными типами.
Возможно, стоит обратить внимание на то, что ссылочный тип держится в куче, которую собирает мусор, убирает. И тип значения живет в стеке. Каждый раз, когда вы определяете область, например:
{
}
Создается новый локальный стек. Как только вы выходите из этой области, все типы значений в стеке удаляются, если в них не хранится ссылка на них.
Видя, что ссылочные типы и типы значений обрабатываются очень по-разному, они также разработаны с этими изменениями в уме. Неспособность иметь пустые конструкторы, а также не иметь возможности присваивать значения при конструировании, является логическим результатом этого.
Я нашел очень старый вопрос stackoverflow относительно того же самого, у них также есть некоторые короткие ответы относительно того, что это для повышения производительности:
Почему я не могу инициализировать свои поля в своих структурах?
Моим источником этой информации была справочная книга для 70-483. .
Надеюсь, что это дало вам разъяснение, которое вы ищете