我们可以将List<SomeClass>
转换为List<object>
int .net。
答案 0 :(得分:3)
你不能用简单的演员来做。它们是两种不同的类型,两种类型之间没有继承关系。但你可以这样做:
foreach (Object item in MyList.Cast<object>() )
{
//...
}
答案 1 :(得分:1)
不,你可以通过这种方式投射数组,但不是列表。
由于SomeClass
始终可以转换为object
,因此您可以使用Cast
方法创建列表:
List<object> list = someClassList.Cast<object>().ToList();
答案 2 :(得分:0)
作为一个例子,这应该有效
List<int> intList=new List<int>();
intList.Add(1);
intList.Add(2);
List<object> listObject = intList.Cast<object>().ToList();
答案 3 :(得分:0)
怎么样:
List<object> listObj = myList.ConvertAll(item => (object)item);
我做了一个简单的Person类:
class Person
{
public string Name { get; set; }
public double Score { get; set; }
}
列出清单:
List<Person> people = new List<Person>();
people.Add(new Person() { Name = "Al", Score=97.3});
people.Add(new Person() { Name = "Bob", Score = 99.2});
people.Add(new Person() { Name = "Charlie", Score=55.333});
做了这样的转换:
List<object> listOfObjects = people.ConvertAll(item => (object)item);
似乎工作得很好。但也许我在这里遗漏了一些东西。显然,我在这里创建了一个新列表。想法?