You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio IDE0305建议:[.. queue]语法替代ToArray()的含义解析

[.. 集合]语法的含义解析

你看到的[.. queue]是C# 10及更高版本引入的集合表达式中的展开运算符,它的作用是将一个可枚举对象(比如代码里的Queue<Foo>)的所有元素展开,用来初始化新的集合实例(此处是Foo[]数组)。

两种写法的等价性

原代码:

Queue<Foo> queue;

// ...

Foo[] foos = queue.ToArray();

Visual Studio推荐的简化写法:

Foo[] foos = [.. queue];

这两段代码的功能完全一致,都是将Queue中的所有元素复制到新创建的Foo[]数组中。

展开运算符的其他用法

除了单独展开单个集合,它还支持更灵活的集合组合:

  • 合并多个可枚举集合:var combinedArray = [.. queueA, .. queueB];
  • 混合集合元素与单个元素:var mixedArray = [new Foo(), .. queue, anotherFoo];
  • 用于初始化其他集合类型(只要目标类型支持集合表达式):List<Foo> fooList = [.. queue];

内容的提问来源于stack exchange,提问作者M.M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:32:01