Разница между первичным и вторичным конструкторами в C# заключается в их назначении и использовании:
- Первичный конструктор позволяет добавлять параметры к определению класса и использовать эти параметры внутри класса. 12 За кадром для каждого параметра первичного конструктора в классе создаётся приватное поле, которое хранит значение параметра. 1
- Вторичный конструктор используется для определения дополнительных параметров, через которые можно передавать данные для инициализации экземпляра класса. 3 Если основной конструктор не пустой, вторичный конструктор должен его вызывать с перечислением всех полей и только потом добавлять дополнительные свойства. 3
Таким образом, первичный конструктор предоставляет канонический интерфейс для создания объекта, а вторичные конструкторы подобны статическим помощникам для преобразования других наборов аргументов в соответствии с этим интерфейсом. 7