В этот вопрос Я видел выражение анонимного типа с незнакомым синтаксисом:
new { MyObjectID = g.Key, totalSum }
Сначала я подумал, что это (, totalSum }
) синтаксическая ошибка, поскольку ключ неуказано, но он компилируется и работает в C # 3.0.Я проверил этот синтаксис в LINQPad (2.x -> C # 3):
var y = ":-)";
var q = new { Y = y, y, y.Length, };
q.Dump();
Результат:
(anon type) {
Y = ":-)",
y = ":-)",
Length = 3
}
Где в спецификации определен этот синтаксис? (Ответы должны включать в себя соответствующую ссылку и соответствующий отрывок.)
И, что более субъективно (не стесняйтесь не отвечать), это хороший синтаксис / сокращение, чтобы пропустить ключи?Я не использовал его до тех пор, пока не знал об этом, и я не очень очарован этим синтаксическим сахаром.