Конструктором называется группировка кода, которой передаётся управление при создании объекта. Синтаксис объявления конструктора аналогичен обявлению метода. Те же спецификаторы доступа, имя, список параметров. Особенности конструктора заключаются в том, что:
§ конструктор НЕ ИМЕЕТ НИКАКОГО спецификатора возвращаемого даже void,
§ имя конструктора полностью совпадает с именем класса или структуры,
§ в классе и в структуре можно объявлять множество вариантов конструкторов. Они должны отличаться списками параметров. В структуре невозможно объявить конструктор с пустым списком параметров,
§ не существует выражения вызова для конструктора, управление в конструктор передаётся посредством выполнения специальной операции new.
В C# ключевое слово new может быть использовано как ОПЕРАЦИЯ или как МОДИФИКАТОР.
new как операция используется:
§ для ссылочных типов (типов-ссылок) при создании объектов в уравляемой памяти и передачи управления конструкторам,
§ для размерных типов (типов-значений) при создании объектов в СТЕКЕ. Возможно, что при этом может потребоваться обращение к конструктору.
new как модификатор используется для сокрытия наследуемых из базового класса данных и методов. Об этом позже. После того, как рассмотрим подробнее принцип наследования.