如何将List <ownclass>强制转换为<objects>的列表

时间:2018-10-22 12:51:00

标签: c#

我制作了一个具有自己属性的类,并将其添加到List<ownclass>中。出于工作原因,我必须将其强制转换为List<object>。另一方面,我必须将其回退(在以后的解决方法中)。

这看起来如何?

2 个答案:

答案 0 :(得分:0)

以下代码演示了将自定义类的列表强制转换为对象列表,将对象的列表强制转换回自定义类的列表并从最终列表中读取的过程。

class MyClass
{
    public int MyNumber { get; set; }
}

class Program
{

    static void Main(string[] args)
    {
        var myList = new List<MyClass>()
        {
            new MyClass { MyNumber = 99 },
            new MyClass { MyNumber = 123 }
        };

        var objectList = myList.Cast<object>().ToList();
        var myConvertedList = objectList.Cast<MyClass>().ToList();

        foreach (int n in myConvertedList.Select(c => c.MyNumber))
            Console.WriteLine(n);

        Console.ReadLine();

    }
}

答案 1 :(得分:-1)

将其转换为对象列表:

List<object> objects = ownClassList.Select( o => (object)o).ToList();

将其退回:

List<ownclass> ownClassList = objects.Select( o=> (ownclass) o).ToList();

编辑:您必须导入system.linq