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

查询C#中[.. buffer]语法里buffer部分的相关文档

关于C#中[.. buffer]语法的说明

你用到的[.. buffer]并不是Range语法的一部分,而是C# 12引入的集合表达式(Collection Expressions)里的展开运算符(Spread Operator),具体说明如下:

核心作用

  • 展开运算符..用于将实现IEnumerable<T>的可枚举对象(比如List<T>、数组、自定义枚举类型等)的所有元素,“展开”到新创建的集合中。
  • 你的代码里,[.. buffer]会把List<int>类型的buffer中的所有元素提取出来,生成一个新的int[]数组,正好匹配validBuffer的类型并完成赋值。

扩展用法

集合表达式支持混合字面量和展开对象,比如:

var mixedArray = [10, 20, .. buffer, 30, 40];

这会生成一个包含10、20、buffer的全部元素、30、40的新int[]数组。

和Range语法的区别

你熟悉的Range语法(如array[2..5])是用来获取原集合的子切片,返回的是原集合的一部分视图;而集合表达式中的..是用来生成新集合,把原有可枚举对象的元素全部包含进去,二者是完全独立的语法特性。

内容的提问来源于stack exchange,提问作者Bart Friederichs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:47:37