技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

3种方法C# Array转换为List,List转换为Array

作者:admin    时间:2023-5-12 23:3:30    浏览:

这篇文章将讨论如何在 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的方法。

相关文章

标签: Array  ArryList  List方法  CSharp  
x
  • 站长推荐
/* 左侧显示文章内容目录 */