c#数组转list详解

发布时间:2023-05-21

一、转化成List的原因

在开发过程中,有时候需要将数组转换成List。数组是一个简单而且基本的数据类型,而List则比数组更加灵活。List可以通过Add()或Insert()方法动态地添加或删除元素,也可以使用Count属性获取元素个数。另外,List的容量只受可用内存的限制,不会出现数组的越界问题,所以在某种情况下将数组转换成List是更好的选择。

二、数组转List的几种方式

1.使用ToList()

string[] arr = new string[] { "a", "b", "c", "d" };
List<string> list = arr.ToList(); 

这是最简单的方法。使用ToList()方法可以直接将数组转换为List。需要注意的是,需要添加using System.Linq;命名空间。

2.手动遍历数组

string[] arr = new string[] { "a", "b", "c", "d" };
List<string> list = new List<string>();
for (int i = 0; i < arr.Length; i++)
{
    list.Add(arr[i]);
}

手动遍历数组,将每个元素添加到List中,这是最基本的方法。但实际使用时,和其他方法相比,较为繁琐。

3.使用Array.ForEach()

string[] arr = new string[] { "a", "b", "c", "d" };
List<string> list = new List<string>();
Array.ForEach(arr, item => list.Add(item));

这是使用Array的ForEach方法,将每个元素添加到List。Lambda表达式实现了将数组元素添加到List中的操作。

4.使用List.AddRange()

string[] arr = new string[] { "a", "b", "c", "d" };
List<string> list = new List<string>();
list.AddRange(arr);

使用List的AddRange()方法可以将数组中的元素添加到List中。该方法使用比较简单,但需要创建一个空的List对象。

三、别忘记的异常处理

在转化的过程中,数组为空或者为null的情况是需要考虑到的。否则,程序运行时可能会出现异常。

string[] arr = null;
List<string> list = new List<string>();
try
{
    list = arr.ToList();
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

四、总结

本文中介绍了四种方法将C#数组转化为List。无论哪种方法,都可以实现将数组元素动态地添加到List中。但是我们需要具体情况具体分析,选择最适合当前情况的方法。同时,也要注意异常处理,确保程序的稳定性。