В настоящее время в C# (версия 8) отсутствует поддержка группового назначения нескольких свойств вне инициализации объекта.
Аналогичная поддержка существует в VB. NET и была предложена для C# 9.
Немного исторического контекста
В Visual Basi c. NET есть похожее утверждение - With
:
With person
.FirstName = "John"
.LastName = "Doe"
.Phone = "123 456 789"
End With
Это было перенесено из Visual Basi c 6 для обратной совместимости (предыдущая, не. NET версия языка).
C# команда (где-то рассказывал сам Андерс Хейлсберг) утверждала, что оператор With
уменьшается Читаем код и не хотим вводить его на языке. Из того, что я видел, операторы With
могут быть вложенными и могут привести к путанице в происходящем.
Как уже упоминалось многими другими, существует синтаксис инициализатор объекта , который очень похоже:
var person = new Person
{
firstName = "John",
lastName = "Doe",
phone = "123 456 789"
};
Future - C# 9
Как указано в другом (удаленном) ответе, существует открытое предложение для записей и с выражением , который будет добавлен в C# 9:
person with { firstName = "John", lastName = "Doe", phone = "123 456 789" };
Бонусный совет
Однако, самый важный совет, который я могу вам дать, чтобы не раздражать товарища C# разработчика, который может работать на вашем код - мы не используем camelCase в C# для public c свойств и методов, потому что C# не Java. Мы используем PascalCase ! :)