技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

3種方法C# Array轉(zhuǎn)換為List,List轉(zhuǎn)換為Array

作者:admin    時間:2023-5-12 23:3:30    瀏覽:

這篇文章將討論如何在 C# 中將數(shù)組Array轉(zhuǎn)換為List。

1、使用Enumerable.ToList()方法

最簡單的解決方案是從System.Linq命名空間調(diào)用Enumerable.ToList()方法,該方法從IEnumerable<T>創(chuàng)建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、使用列表構(gòu)造器

我們還可以使用List<T>的構(gòu)造函數(shù),它接受IEnumerable<T>作為一個參數(shù)并初始化List<T>類的一個新實例,List<T>類包含從指定集合復(fù)制的元素。

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()方法

最后,我們可以調(diào)用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 轉(zhuǎn)換為 List,而是使用 List 上的.AddRange() 方法將 Array 的元素附加到 List

我們創(chuàng)建一個新List,并使用 IList 上的 .AddRange 方法將集合添加到現(xiàn)有List中。

正如我們所知,Array 實現(xiàn)了 ICollection,我們可以將 Array 添加到 AddRange 方法并將項目附加到現(xiàn)有 List。

如何將List轉(zhuǎn)換為Array

System.Collections.Generic命名空間中的List<T>類提供方法ToArray(),可用于將 List 轉(zhuǎn)換為 Array。

句法

public T[] ToArray();

此方法復(fù)制 List 的項目到一個新數(shù)組并將該數(shù)組返回給調(diào)用者。

  • 此方法在內(nèi)部使用Array.Copy()方法將列表元素復(fù)制到新數(shù)組。
  • 由于它復(fù)制了所有元素,因此該方法的時間復(fù)雜度為O(n),其中n是元素的數(shù)量。

在下面的代碼示例中,我們創(chuàng)建了一個整數(shù)列表,并使用ToArray()方法將其轉(zhuǎn)換為整數(shù)數(shù)組。我們已經(jīng)使用Array.ForEach()方法打印了數(shù)組內(nèi)容。

同樣的操作也適用于字符串列表。

該程序打印以下輸出。

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);

        }
    }
}

總結(jié)

這就是關(guān)于在 C# 中將數(shù)組Array轉(zhuǎn)換為List的3種方法,第一種方法比較簡單,而其他方法也同樣可以達(dá)到目的。此外,也介紹了List轉(zhuǎn)為Array的方法。

相關(guān)文章

標(biāo)簽: Array  ArryList  List方法  CSharp  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */