关于c#:“AddRange”集合初始化程序的名称?

Name for the “AddRange” collection initializer?

本问题已经有最佳答案,请猛点这里访问。

有一个C特性,我不知道它的术语,因此还没有找到关于它的文档。

"addrange-like"语法的名称是什么,该语法允许您在初始化期间向集合中添加元素?我特别提到下面代码中记录的情况,在这里我们不调用构造函数(并且由于属性没有setter而无法调用),而是在集合中调用addrange。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;

public class Program
{
    public static void Main(string[] args)
    {
        TestClass a = new TestClass()
        {
            // What is the name for this feature??
            List =
            {
                0,
                10,
                20,
                30
            }
        };
        Console.WriteLine(a.List.Count);
    }

    public class TestClass
    {
        private List<int> _list = new List<int>();
        public List<int> List { get { return _list; } }
    }
}

另外,我是否正确理解了这种语法的语义?它只允许我们在集合中使用一个简短的addrange/multiple-add syntax,对吗?

如果有人想运行示例代码,.NET fiddle:https://dotnetfidle.net/i01hyv


它是C 3.0中引入的对象初始值设定项或集合初始值设定项语法