2016-06-04 14 views
-6

В чем разница между новизной класса с круглой скобкой и без нее?Разница между новым классом() {...} и новым классом {...}

Class instance = new Class() 
{ 
    X = 1, 
    Y = 2, 
    Z = 3 
}; 

против

Class instance = new Class 
{ 
    X = 1, 
    Y = 2, 
    Z = 3 
} 
+2

Это не Ява. Задайте конкретный и ясный вопрос. И вы спрашиваете о синтаксисе языка - как это может быть «язык-агностик»? –

+0

@HovercraftFullOfEels - заметьте, я также отметил язык-агностик и C#? – series0ne

+1

Вы отметили вопрос как язык-агностик, а затем задали вопрос, связанный с синтаксисом языка. На этот вопрос невозможно ответить, не ограничиваясь конкретным языком. –

ответ

4

Ничего. При использовании синтаксиса инициализатора объекта { }() для конструктора без параметров является необязательным.

От the overview of C# 3.0, где был введен этот синтаксис:

выражение создания

Объект может опустить список аргументов конструктора и ограждающих круглые скобки, при условии, что включает в себя объект или коллекцию инициализатор. Опускание списка аргументов конструктора и заключенных круглых скобок эквивалентно заданию пустого списка аргументов.

Возможно, вы найдете this related question.

Смежные вопросы