如何在C#中将数组转换为List <object>?

Bre*_*ead 74 c# arrays

如何在C#中转换Array为a List<object>

Cod*_*aos 103

List<object> list = myArray.Cast<Object>().ToList();
Run Code Online (Sandbox Code Playgroud)

如果数组元素的类型是引用类型,则可以省略.Cast<object>()自C#4添加的接口协方差,即IEnumerable<SomeClass>可以将其视为一个IEnumerable<object>.

List<object> list = myArray.ToList<object>();
Run Code Online (Sandbox Code Playgroud)

  • 确保您使用的是System.Linq (28认同)

Dan*_*zey 37

使用构造函数: new List<object>(myArray)

  • 关于这种风格的一个好处是它创建并返回列表,因此你可以附加更多的方法(例如`.Contains(userName)`).用于将一堆逻辑塞入单行if语句:). (2认同)

fjd*_*ont 12

List<object>.AddRange(object[])应该做的伎俩.它将避免各种无用的内存分配.您也可以使用Linq,有点像这样:object[].Cast<object>().ToList()


Cra*_*g T 9

List <>构造函数可以接受任何实现IEnumerable的东西,因此......

        object[] testArray = new object[] { "blah", "blah2" };
        List<object> testList = new List<object>(testArray);
Run Code Online (Sandbox Code Playgroud)


Chr*_*ian 5

private List<object> ConvertArrayToList(object[] array)
{
  List<object> list = new List<object>();

  foreach(object obj in array)
    list.add(obj);

  return list;
}
Run Code Online (Sandbox Code Playgroud)