Я предполагаю, что они сохраняют форму () для инициализаторов объектов, потому что некоторым пользователям нравится ясность () для вызова конструктора, но iirc, C ++ (или первые версии) позволяют вызывать конструктор без скобок. Мое второе предположение, что они (дизайнеры языка) склоняются к тому, чтобы C # имел JSON-подобную структуру, что довольно удобно, поэтому они облегчают вызов конструктора без (). Я предпочитаю вторую форму.
Нет никакой разницы, так же как свойство (хотя и плохое) VB.NET позволит вам назначать переменные в двух формах: button1.Height = 100 button1.Height () = 1000 Kinda lame, если вы можете спросить