如何将List <user>转换为List <object> </object> </user>

时间:2010-05-08 06:00:33

标签: asp.net

我有用户类列表,但现在我必须将其作为对象列表返回,我尝试转换它,但它给了我错误。无法隐式转换。

4 个答案:

答案 0 :(得分:7)

.NET 3.5中最简单的解决方案是:

List<object> objects = users.Cast<object>().ToList();

请注意,这将创建列表的副本。您无法将List<User>视为List<object> - 否则您将能够执行此操作:

objects.Add(new SomeOtherType());

这显然会破坏事情。

在C#4中,您可以使用IEnumerable<T>的协方差使其更简单:

List<object> objects = new List<object>(users);

List<object> objects = users.ToList<object>();

答案 1 :(得分:1)

以下链接可以帮助您。

列表sl = new List(); 列出ol; ol =(List)sl;

In C#, why can't a List<string> object be stored in a List<object> variable

答案 2 :(得分:1)

public List<Object> ConvertToObjectList<N>(List<N> sourceList)
{
    List<Object> result = new List<Object>();

    foreach(N item in sourceList)
    {
        result.Add(item as Object);
    }

    return result;
}

...

List<Object> myList = ConvertToObjectList<myClass>(myOldList);

我不确定我是否理解你的问题,但这是我的两分钱。

答案 3 :(得分:0)

= / with linq?

var object_list = from o in user_list
                  select new {
                      User: o.User,
                      Guid: o.Guid
                      // insert properties here
                  }

??????