C#如何向List<>中添加多个元素?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何向List<>中添加多个元素?相关的知识,希望对你有一定的参考价值。

即完成以下工作
for (int i = list1.Count; i <n; i++)
IsBankFree.Add(...);

多次调用Add方法,可以添加多个元素;或一次AddRange方法添加多个元素

例如:

List<int> list = new List<int>();

// 添加5个元素
list.Add(100);
list.Add(200);
list.Add(300);
list.Add(400);
list.Add(500);

int[] a =  1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ;
// 添加 10 个元素
list.AddRange(a);

参考技术A 用AddRange这个方法,详见:

//
// 摘要:
// 将指定集合的元素添加到 System.Collections.Generic.List<T> 的末尾。
//
// 参数:
// collection:
// 一个集合,其元素应被添加到 System.Collections.Generic.List<T> 的末尾。集合自身不能为 null,但它可以包含为
// null 的元素(如果类型 T 为引用类型)。
//
// 异常:
// System.ArgumentNullException:
// collection 为 null。
public void AddRange(IEnumerable<T> collection);追问

调用.addrange(new list(16))后为什么.count没有增加?

追答

你没理解new list(16)这个的作用,
作用:初始化 System.Collections.Generic.List 类的新实例,该实例为空并且具有指定的初始容量。
意义:List在被创建时,可以指定初始大小,由于这个是动态数组,当List的容量达到初始大小后,后继续增加一倍(记得是一倍,也应该可指定,具体的记得不清了,可自己查一下)

你使用new List(16),只是创建了一个空的List的实例,但里面的内容是空的,所以,Count的值没有增加,你可向新建的List实例中添加几个元素,再次增加就可以了。

追问

这样理解下来似乎是addrange只是分配了16个bool实例的空间,并未对其初始化,你说"向新建的List实例中添加几个元素"那还不如直接.add吧.你还是直接写一段addrange初始化16个bool的代码给我看一下吧

追答

List intList = new List(10);
Console.WriteLine(intList.Count);
List intList1 = new List();
intList1.Add(1);
intList1.Add(2);
intList.AddRange(intList1);
Console.WriteLine(intList.Count);
运行上面的代码,你就知道是怎么回事了。你理解的还不对。并不是分配了16个实例空间,只是创建了一个List的实例,里面没有内容。

追问

唔,这个我搞懂了,谢谢你.但是一开始我问的问题应该还是没有得到解决,因为
for (int i=0;i(16))肯定是不行的,因为里面没有内容.
到底应该怎么办呢,求代码

追答

for (int i = list1.Count; i list = new List();
list.AddRange(new int[] 1, 2, 3, 4, 5 );

本回答被提问者和网友采纳
参考技术B 实现方式:IsBankFree.AddRange(list1);但是两个list的元素的类型要相同。
个人建议要对C#基础知识要多多的学习。
参考技术C List<string> dinosaurs =new List<string>();//创建一个string的List集合

Console.WriteLine("\nCapacity: 0", dinosaurs.Capacity);//输出默认容量的大小

for (int i = list1.Count; i <n; i++)
dinosaurs.Add(....);//向集合添加元素


Console.WriteLine();
foreach (string dinosaur in dinosaurs)//打印集合中的元素

Console.WriteLine(dinosaur);

以上是关于C#如何向List<>中添加多个元素?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 C# 中向数组中添加一些元素?

C#如何向listview中的一列添加LIST集合中的OBJECT数据

在Java中向对象添加多个元素

如何使用 C# 在 XML 文档中添加新元素

C# 如何把两个list的元素相加

C# 集合及集合内排序 问题 速求