В ответ на: При чем тут reference type? Топикстартер упомянул целочисленный, вещественный и булевский типы.
Вы объяснили всё с точностью до наоборот.
ТС спросил будут ли вызываться конструкторы при использовании переменных, содержащие объекты value type.
В отличие от [переменных, содержащих] reference type objects:
Да, всегда, т.к. [переменные, содержащие] value type objects, не могут иметь null
(всегда создаются объекты,
т.к. неззя их использовать, не инициализировав;
если явно не указывается их значение, то они инициализируются к default values с использованием default constructors).
Более того, в отличие от reference type variables,
ихиспользование
(присвоение или передача, в качестве параметров) всегда приводит к созданию копий объектов и вызову (по крайней мере default) конструкторов!
То, что Вы попытались объяснить никак не относится эксклюзивно к value types:
не объясняет ни их отличий,
ни почему они более "эффективны"
(тем более, что не были упомянуты stack и heap).
Более того, то, что Вы объясняли "указывало" на их
(переменные с value type objects)
"недостатки" по сравнению с reference type variables.