|
|
|
|
|
|
這篇文章將討論如何在 C# 中將數組Array轉換為List。
1、使用Enumerable.ToList()方法
最簡單的解決方案是從System.Linq命名空間調用Enumerable.ToList()方法,該方法從IEnumerable<T>創建List<T>,它返回一個包含輸??入序列元素的List<T>。
using System;
using System.Collections.Generic;
using System.Linq;
public class Example
{
public static void Main()
{
int[] array = { 1, 2, 3, 4, 5 };
List<int> list = array.ToList();
// List<int> list = array.OfType<int>().ToList();
// List<int> list = array.Cast<int>().ToList();
Console.WriteLine(String.Join(",", list));
}
}
/*
輸出: 1,2,3,4,5
*/
2、使用列表構造器
我們還可以使用List<T>的構造函數,它接受IEnumerable<T>作為一個參數并初始化List<T>類的一個新實例,List<T>類包含從指定集合復制的元素。
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
int[] array = { 1, 2, 3, 4, 5 };
List<int> list = new List<int>(array);
Console.WriteLine(String.Join(",", list));
}
}
/*
輸出: 1,2,3,4,5
*/
3、使用List.AddRange()方法
最后,我們可以調用AddRange()方法,該方法將指定的集合元素添加到 List 的末尾。
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
int[] array = { 1, 2, 3, 4, 5 };
List<int> list = new List<int>();
list.AddRange(array);
Console.WriteLine(String.Join(",", list));
}
}
/*
輸出: 1,2,3,4,5
*/
在上面的代碼示例中,我們沒有將 Array 轉換為 List,而是使用 List 上的.AddRange() 方法將 Array 的元素附加到 List。
我們創建一個新List,并使用 IList 上的 .AddRange 方法將集合添加到現有List中。
正如我們所知,Array 實現了 ICollection,我們可以將 Array 添加到 AddRange 方法并將項目附加到現有 List。
如何將List轉換為Array
System.Collections.Generic命名空間中的List<T>類提供方法ToArray(),可用于將 List 轉換為 Array。
public T[] ToArray();
此方法復制 List 的項目到一個新數組并將該數組返回給調用者。
Array.Copy()方法將列表元素復制到新數組。O(n),其中n是元素的數量。在下面的代碼示例中,我們創建了一個整數列表,并使用ToArray()方法將其轉換為整數數組。我們已經使用Array.ForEach()方法打印了數組內容。
同樣的操作也適用于字符串列表。
該程序打印以下輸出。
1
2
3
4
5
January
February
March
April
代碼
using System;
using System.Collections.Generic;
namespace Hello
{
class ToArrayTest
{
static void Main(string[] args)
{
var numList = new List<int> { 1, 2, 3, 4, 5 };
int[] numArray = numList.ToArray();
Array.ForEach(numArray, Console.WriteLine);
var monthList = new List<string> { "January", "February", "March", "April" };
string[] monthArray = monthList.ToArray();
Array.ForEach(monthArray, Console.WriteLine);
}
}
}
總結
這就是關于在 C# 中將數組Array轉換為List的3種方法,第一種方法比較簡單,而其他方法也同樣可以達到目的。此外,也介紹了List轉為Array的方法。
相關文章
