在C#中创建一个给定大小的列表,全部初始化为某个值

har*_*nan 6 c# list

是否有紧凑的方式可以做到以下几点?

List<int> a = new List<int>();

for (int i = 0; i < n; ++i)
   a.Add(0);
Run Code Online (Sandbox Code Playgroud)

即,创建n个元素的列表,全部值为0.

Kha*_*han 11

Enumberable.Repeat 将是我能想到的最短的方法:

var a = Enumerable.Repeat(0, n).ToList();
Run Code Online (Sandbox Code Playgroud)

  • 值得指出的是,如果您不预先调用“ToList”,“Enumerable”方法具有惰性的优点。 (2认同)

por*_*ges 5

你可以使用Enumerable.Repeat发电机:

var list = new List<int>(Enumerable.Repeat(0, n));
Run Code Online (Sandbox Code Playgroud)