簡體   English   中英

如何在C#中將數組轉換為List <object>?

[英]How do I convert an Array to a List<object> in C#?

如何在C#中將Array轉換為List<object>

List<object> list = myArray.Cast<Object>().ToList();

如果數組元素的類型是引用類型,則可以.Cast<object>()因為C#4添加了接口協方差,即IEnumerable<SomeClass>可以被視為IEnumerable<object>

List<object> list = myArray.ToList<object>();

使用構造函數: new List<object>(myArray)

List<object>.AddRange(object[])應該可以解決問題。 它將避免各種無用的內存分配。 你也可以使用Linq,有點像這樣: object[].Cast<object>().ToList()

List <>構造函數可以接受任何實現IEnumerable的東西,因此......

        object[] testArray = new object[] { "blah", "blah2" };
        List<object> testList = new List<object>(testArray);
private List<object> ConvertArrayToList(object[] array)
{
  List<object> list = new List<object>();

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

  return list;
}

如果數組項和列表項相同

List<object> list=myArray.ToList();

每個人都說的一切都是正確的,所以,

int[] aArray = {1,2,3};
List<int> list = aArray.OfType<int> ().ToList();

將aArray變成列表,列表。 然而,許多評論中遺漏的最大問題是你需要在你的班級頂部使用這兩個使用語句

using System.Collections.Generic;
using System.Linq;

我希望這有幫助!

您還可以直接使用數組初始化列表:

List<int> mylist= new List<int>(new int[]{6, 1, -5, 4, -2, -3, 9});

其他方式

List<YourClass> list = (arrayList.ToArray() as YourClass[]).ToList();

這允許您發送一個對象:

private List<object> ConvertArrayToList(dynamic array)

這是我的版本:

  List<object> list = new List<object>(new object[]{ "test", 0, "hello", 1, "world" });

  foreach(var x in list)
  {
      Console.WriteLine("x: {0}", x);
  }

你可以試試這個,

using System.Linq;
string[] arrString = { "A", "B", "C"};
List<string> listofString = arrString.OfType<string>().ToList();

希望,這段代碼可以幫到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM