我有这样的代码:
Queue<Foos> queue;
// ...
Foo[] foos = queue.ToArray();
但是,Visual Studio 给出了建议IDE0305 Collection 初始化可以简化,建议改为:
Foo[] foos = [.. queue];
代码似乎可以正确构建和运行。这种点和括号语法是什么意思?
我有这样的代码:
Queue<Foos> queue;
// ...
Foo[] foos = queue.ToArray();
但是,Visual Studio 给出了建议IDE0305 Collection 初始化可以简化,建议改为:
Foo[] foos = [.. queue];
代码似乎可以正确构建和运行。这种点和括号语法是什么意思?
从 C# 12 开始支持
[]
and运算符。..
[]
是允许创建数组/集合的集合表达式,而不是采用传统方式:同时,
..
是扩展运算符,允许将表达式中的所有元素相加。总之,基于您现有的代码,它将
Foo
通过添加来自的所有元素来创建一个新数组queue
。包括Thomas Claudius 撰写的有关 C# 12:集合表达式的文章。