我正在創建一個新的C#列表(List<double>
)。有沒有辦法,除了在列表上循環,將所有的起始值初始化爲0?自動初始化C#列表
38
A
回答
49
除了所提供的功能性的解決方案(使用對Enumerable
類的靜態方法),則可以在構造傳遞的double
秒的陣列。
var tenDoubles = new List<double>(new double[10]);
這工作,因爲一個double
的默認值已經爲0,而且很可能執行略勝一籌。
35
您可以使用初始化:
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()};
所以,你可以使用這個:
var listInt = new List<double> {0.0, 0.0, 0.0, 0.0};
否則,使用默認構造函數,該列表將是空的。
31
使用此代碼:
Enumerable.Repeat(0d, 25).ToList();
new List<double>(new double[25]); //Array elements default to 0
+0
我認爲這更多的是OP所期待的。 – 2009-07-09 15:07:20
-4
對於更復雜的類型:
List<Customer> listOfCustomers =
new List<Customer> {
{ Id = 1, Name="Dave", City="Sarasota" },
{ Id = 2, Name="John", City="Tampa" },
{ Id = 3, Name="Abe", City="Miami" }
};
14
一種可能性是使用:
int capacity;
var list = Enumerable.Range(0, capacity).Select(i => 0d).ToList();
另一個是:
int capacity;
var list = new List<double>(new double[capacity]);
2
有點晚,但也許仍感興趣: 使用LINQ,嘗試
var initializedList = new double[10].ToList()
...希望避免複製列表(現在是給LINQ)。
這應該是邁克爾梅多斯的回答評論,但我缺乏聲望。
相關問題
- 1. C++ 11自動初始化
- 2. 自動初始化列表的類型
- 3. 初始化列表 - C#
- 4. 初始化列表和C++
- 5. 初始化散列表C++
- 6. C++初始化列表
- 7. C++從初始化列表
- 8. 初始化列表C++ 11
- 9. 初始化列表中C++
- 10. C結構自動初始化值,數組初始化
- 11. 自動初始化?
- 12. 初始化在初始化列表
- 13. 初始化含有初始化列表
- 14. C++:在初始化列表中初始化對ofstream的引用
- 15. std ::數組初始化列表在初始化列表中初始化
- 16. C#是否自動初始化變量
- 17. 初始化C#自動性能
- 18. C中是否自動初始化malloc?
- 19. 空陣列自動初始化內容?
- 20. c + +浮動陣列初始化
- 21. 自定義班級列表初始化
- 22. 初始化列表<string>在C#
- 23. Qt C++初始化列表混淆
- 24. C++原型初始化列表?
- 25. C++擴展初始化列表
- 26. C++列表遍歷和初始化
- 27. 初始化列表中的目標C
- 28. C++:初始化列表/命名約定
- 29. C++初始化程序列表
- 30. 如何初始化C中的列表?
這是可行的,但.net中的列表沒有定義的大小,因此其類型爲pointletss – DevelopingChris 2009-07-09 15:06:44