2012-03-21 126 views

回答

4
var oList = (IList<object>)sList.Cast<object>().ToList(); 
1
IList<string> s = new List<string>() ; 
    IList<object> o = new List<object>(); 
    foreach (string x in o) 
     s.Add(x); 
+0

既然你預先知道尺寸,你應該通過指定其初始大小創建新的列表,以避免調整:'新名單(s.Count)'。另一種方法是使用構造函數public list( \t IEnumerable collection )'like this:'new List (s.Cast ())' – 2017-05-17 14:22:31

1

下應該這樣做:

IList<String> strings = new List<String> { "a", "b", }; 
IList<Object> objects = strings.Cast<Object>().ToList(); 

您可以通過撥打測試中LinqPad結果:objects.Dump();

0
stringList.Select(x => (object)x).ToList(); 
0

這正是Lambda expressions是。 您可以使用簡單的Lambda表達式進行轉換。只要你在.NET 2.0或以上版本。 如:

stringList.Select(x => (object)x).ToList();