C# 有没有更好的方法来;铸造;从一个对象列表到另一个对象列表?

C# 有没有更好的方法来;铸造;从一个对象列表到另一个对象列表?,c#,list,casting,.net-3.5,C#,List,Casting,.net 3.5,我试图找出是否有更好的方法来完成所附的代码。我有一个对象设备列表,这个对象从另一个对象DeviceBase继承。我有一个DeviceBase(personInfo.devices)列表,我想将其“转换”到列表设备中 对于这一点,我也仅限于.NET3.5 if (personInfo != null) { if (personInfo.devices.Count != 0) {

我试图找出是否有更好的方法来完成所附的代码。我有一个对象设备列表,这个对象从另一个对象DeviceBase继承。我有一个DeviceBase(personInfo.devices)列表,我想将其“转换”到列表设备中

对于这一点,我也仅限于.NET3.5

if (personInfo != null)
            {
                if (personInfo.devices.Count != 0)
                {
                    Devices = new List<Device>();

                    for (int i = 0; i < personInfo.devices.Count; i++)                                      //Look for a better way
                    {
                        Devices.Add((Device)personInfo.devices[i]);
                    }
                }

            }
if(personInfo!=null)
{
if(personInfo.devices.Count!=0)
{
设备=新列表();
对于(int i=0;i
我的目标是在设备中使用DeviceBase没有的其他方法(因为它只是反序列化JSON)

我只是觉得有更好的办法。虽然附件很短,但我确信它可以更短。

Devices=personInfo.Devices.Cast().ToList();
Devices = personInfo.devices.Cast<Device>().ToList();
Devices=personInfo.Devices.Cast().ToList();