C# AddRange(ICollection):将 ICollection 中的元素添加到集合中

  • Post category:C#

下面是关于C# AddRange(ICollection)方法的详细讲解:

AddRange(ICollection)方法简介

AddRange(ICollection)方法是一种通用方法,可将一个ICollection的元素添加到当前集合中。ICollection可以是任何实现了ICollection接口的对象,例如List、HashSet等。

在C#中,List是最常用的ICollection之一,其定义如下:

public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable

可以看出,List实现了ICollection接口,因此可以使用AddRange()方法将另一个集合的元素添加到List中。

AddRange(ICollection)方法使用示例

下面是两个使用AddRange(ICollection)方法的示例:

示例1: 将一个数组添加到List

List<int> numbers = new List<int> { 1, 2, 3 };
int[] moreNumbers = { 4, 5, 6 };

numbers.AddRange(moreNumbers);

在这个示例中,我们首先创建一个List实例,并将其初始化为包含1、2、3三个元素。然后,我们定义了一个包含4、5、6三个元素的int数组,接着使用AddRange()方法将数组的元素添加到numbers列表中。

示例2: 将一个HashSet对象添加到List

List<int> numbers = new List<int> { 1, 2, 3 };
HashSet<int> moreNumbers = new HashSet<int> { 3, 4, 5 };

numbers.AddRange(moreNumbers);

在这个示例中,我们同样创建了一个List实例,并初始化为包含1、2、3三个元素。接着,我们定义了一个包含3、4、5三个元素的HashSet对象,然后使用AddRange()方法将moreNumbers中所有的元素添加到numbers列表中。

需要注意的是,由于HashSet和List都实现了ICollection接口,因此AddRange()方法可以将HashSet对象作为参数,也可以将数组作为参数。

总结

AddRange(ICollection)方法是一种强大的列表操作方法,能够更方便地将另一个ICollection对象中的所有元素添加到当前集合中。通过上述示例,我们可以很容易地掌握这一方法的使用。