Вы можете сделать это следующим образом, теперь все типы значений инициализированы:
struct Point
{
private int _x, _y;
public Point(int x)
:this()
{
_x = x;
}
}
Обратите внимание, я просто назвал конструктор по умолчанию.
Я думаю, что причина такого поведения,что если вы вызываете конструктор по умолчанию или указываете все поля в конструкторе с параметрами, это показывает, что вы знаете, что делаете, и не случайно инициализируете некоторые поля по умолчанию.