У JavaScript есть отличная функция, в которой вы можете назначить несколько переменных из свойств объекта с использованием одной краткой строки. Он называется destructuring assignment синтаксисом, который был добавлен в ES6.Назначение деструктуризации - свойства объекта для переменных в C#
// New object
var o = {p1:'foo', p2:'bar', p3: 'baz'};
// Destructure
var {p1, p2} = o;
// Use the variables...
console.log(p1.toUpperCase()); // FOO
console.log(p2.toUpperCase()); // BAR
Я хочу сделать что-то подобное с C#.
// New anonymous object
var o = new {p1="foo", p2="bar", p3="baz"};
// Destructure (wrong syntax as of C#6)
var {p1, p2} = o;
// Use the variables...
Console.WriteLine(p1.ToUpper()); // FOO
Console.WriteLine(p2.ToUpper()); // BAR
Есть ли синтаксис для этого в C#?
См. Также [предлагаемая функция] (https://github.com/dotnet/roslyn/blob/future/docs/features/patterns.md#user-content-destructuring-assignment) –
См. Обновленную ссылку на [ предлагаемая функция] (https://github.com/dotnet/roslyn/blob/features/patterns/docs/features/patterns.md#destructuring-assignment) – styfle
Yup, C# 7.0 поддерживает деконструкцию: https: //blogs.msdn. microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/#user-content-deconstruction – paulie4