将List <someclass>转换为List <object> </object> </someclass>

时间:2011-03-23 13:52:02

标签: .net

我们可以将List<SomeClass>转换为List<object> int .net。

4 个答案:

答案 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);

似乎工作得很好。但也许我在这里遗漏了一些东西。显然,我在这里创建了一个新列表。想法?