将object数组转换为类的列表

  • 本文关键字:列表 转换 object 数组 c#
  • 更新时间 :
  • 英文 :


我有一个对象数组,如:

object[]

数组的所有元素如果与一个类型兼容,我将其称为

MyClass

如何将对象[]转换为List ?

你可以使用LINQ的CastOfType方法,这取决于你想要发生什么,如果你的数组包含不是类型的MyClass元素。

如果想在遇到无效元素时抛出异常,请使用:

var myList = myArray.Cast<MyClass>().ToList();

如果您想静默忽略所有非MyClass的项,使用:

var myList = myArray.OfType<MyClass>().ToList();

您可以使用Linq来实现这一点:

using System;
using System.Linq;                  
public class Program
{
public static void Main()
{
object[] l = new object[3];
l[0] = new MyClass();
l[1] = new MyClass();
l[2] = new NotMyClass();
var res = l.Where(e => e is MyClass).Cast<MyClass>();
foreach(var e in res){
Console.WriteLine(e.ToString());
}
}
}
public class MyClass{
}
public class NotMyClass{

}

最新更新