“AddRange”集合初始值设定项的名称?

时间:2018-02-21 16:23:22

标签: c# collections

有一个C#功能,我不知道这个术语,因此无法找到它的文档。

“AddRange-like”语法的名称是什么,它允许您在初始化期间向集合添加元素?我具体指的是下面代码中记录的情况,我们没有调用构造函数(并且由于没有setter的属性而无法),而是似乎只是在集合上调用AddRange。 p>

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语法,对吗?

.NET在这里,如果有人想运行示例代码:https://dotnetfiddle.net/i01HYv

1 个答案:

答案 0 :(得分:2)

它是C#3.0中引入的Object Initializer或Collection Initializer语法