【发布时间】:2017-02-14 15:36:18
【问题描述】:
在 C# 中有没有像 JavaScript's spread syntax 这样的实现?
var arr = new []{
"1",
"2"//...
};
Console.WriteLine(...arr);
【问题讨论】:
-
将数组传递给
params是您将要获得的最接近的方法。 -
参数中带有关键字
params的方法更可能是答案。谢谢@Rob -
@KeithNicholas 我认为这在其他情况下确实有意义,例如
ctx.users.Select(u => new { u.id, u.otherfields } ).ToList().ConvertAll(u => new { ...u, someList.FirstOrDefault(l => l.userid == u.id).something}) -
小挑剔,
...语法是 not 运算符。在规范中,它在语言语法中被称为SpreadElement,尽管非正式地称为“扩展语法”,因为它不是上下文无关语法。 -
(a, b, ...others) = getTwoParamsAndOthersIntoArray()- 不知道为什么这种语法在 C# 中不会比 JS 更有意义,因为它现在具有动态、值元组和解构 :)
标签: javascript c# spread-syntax