Mic*_*ows 58
除了提供的功能解决方案(使用Enumerable类上的静态方法),您还可以double在构造函数中传递一个s 数组.
var tenDoubles = new List<double>(new double[10]);
Run Code Online (Sandbox Code Playgroud)
这是因为an的默认值double已经为0,并且可能表现稍好一些.
Jho*_*re- 44
您可以使用初始化程序:
var listInt = new List<int> {4, 5, 6, 7};
var listString = new List<string> {"string1", "hello", "world"};
var listCustomObjects = new List<Animal> {new Cat(), new Dog(), new Horse()};
Run Code Online (Sandbox Code Playgroud)
所以你可以使用这个:
var listInt = new List<double> {0.0, 0.0, 0.0, 0.0};
Run Code Online (Sandbox Code Playgroud)
否则,使用默认构造函数,List将为空.
SLa*_*aks 37
使用此代码:
Enumerable.Repeat(0d, 25).ToList();
new List<double>(new double[25]); //Array elements default to 0
Run Code Online (Sandbox Code Playgroud)
jas*_*son 18
一种可能性是使用Enumerable.Range:
int capacity;
var list = Enumerable.Range(0, capacity).Select(i => 0d).ToList();
Run Code Online (Sandbox Code Playgroud)
另一个是:
int capacity;
var list = new List<double>(new double[capacity]);
Run Code Online (Sandbox Code Playgroud)
有点晚了,但也许仍然感兴趣:使用 LINQ,尝试
var initializedList = new double[10].ToList()
...希望避免复制列表(现在由 LINQ 决定)。
这应该是对迈克尔梅多斯答案的评论,但我缺乏声誉。