簡體   English   中英

如何在C#中轉換List <>

[英]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()

(顯然,這假定從Obj1Obj2是有效的: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM