[英]How to cast List<> in C#
如何投放兩個清單...
我想要這樣的東西
List<Obj1> list = new List<Obj1>();
list.add(new Obj1);
List<Obj2> list2 = new List<Obj2>();
list2.add((Obj1)list[0]);
您可能對Enumerable擴展方法Cast感興趣。
IEnumerable<Obj2> enumerable = list.Cast<Obj2>();
然后,您可以根據需要轉換為List
:
var list2 = enumerable.ToList()
(顯然,這假定從Obj1
到Obj2
是有效的: Obj2
源自Obj1
或存在轉換運算符。)
我不確定您要做什么,但可能是這樣的
var nums = new List<int> {3,1,4,1,5,9,2,6,5};
var words = new List<string> {"Do", "not", "disturb", "my", "circles"};
words.AddRange(nums.Cast<string>());
要添加單個元素,您的代碼將可以工作,只要您修復以下語法:
List<Obj1> list = new List<Obj1>();
list.Add(new Obj1());
List<Obj2> list2 = new List<Obj2>();
list2.Add((Obj1)list[0]);
要連接整個列表,可以將最后一行替換為list2.AddRange(list.Cast<Obj1>());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.