【发布时间】:2016-06-15 16:58:30
【问题描述】:
JavaScript 有一个非常棒的特性,你可以使用简洁的一行从一个对象的属性中分配多个变量。它被称为destructuring assignment 语法,是在 ES6 中添加的。
// 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# 中有这样的语法吗?
【问题讨论】:
-
什么场景需要这个功能,很好奇!
-
@TechnicalSmile 不需要此语言功能(或任何语言功能)。这都是零和一之上的语法糖 :) 在这种情况下,我想编写更少的代码,这是一个启用它的功能。
标签: c# syntactic-sugar