一、ToList函数简介
ToList函数是C#中的方法,它可以将一个IEnumerable类型(包括Array、List、Dictionary等)的集合对象转化为一个List对象。
其使用方法为:IEnumerable类型的集合对象. ToList();
ToList函数的返回值为List
二、ToList函数的用处
1、将IEnumerable类型的集合对象转化为List类型的对象,方便进行操作。
//例如
List
list = new List
{ "a", "b", "c" };
IEnumerable
ienumerable = list;
List
newList = ienumerable.ToList();
2、在项目中获取数据库的数据,可以使用ToList将结果转化为List类型的对象,方便进行各种复杂的操作。
//例如
List
orders = await _repo.GetOrdersAsync(); //从数据库中获取订单
List
newOrders = orders.Where(x => x.Status == "New" && x.Owner == "Tom").ToList(); //筛选出状态为New,且所有者为Tom的订单
decimal totalPrice = newOrders.Sum(x => x.Price); //计算总价
3、ToList函数可以提高程序的性能,因为一些LINQ方法(如Where)会多次遍历集合,而使用ToList可以将集合转化为List类型的对象,相当于进行了一次遍历,提高了查询的效率。
三、ToList函数的注意事项
1、ToList函数是立即执行的,也就是说,它会立即将所有元素加载到内存中,因此,当集合对象中的数据量较大时,需要谨慎使用。
2、如果集合对象为空或null,使用ToList会报错,因此需要先进行判断。
//例如
IEnumerable
ienumerable = null;
List
newList = ienumerable?.ToList(); //使用?判断ienumerable是否为空,如果为空则返回null,不会报错
四、ToList函数的示例代码
List
list = new List
{ "a", "b", "c" };
IEnumerable
ienumerable = list;
List
newList = ienumerable.ToList();
//或者
IEnumerable
ienumerable = null; List
newList = ienumerable?.ToList();