在C#中,Add和AddRange是常用于集合类的方法,用于添加元素到集合中。在使用LINQ和IEnumerable时,要注意它们之间的区别。
Add方法只能添加一个元素到集合中,而AddRange方法可以添加一个集合中的所有元素。因此,AddRange更加适合于使用LINQ查询得到的IEnumerable对象。
以下是使用Add和AddRange方法的示例代码:
// 使用Add方法添加单个元素到集合中
List list1 = new List();
list1.Add("apple");
list1.Add("banana");
list1.Add("orange");
// 使用AddRange方法添加多个元素到集合中
List list2 = new List();
list2.AddRange(new string[] { "apple", "banana", "orange" });
// 从LINQ查询得到的IEnumerable对象中使用Add方法添加单个元素到集合中
IEnumerable query1 = list1.Where(fruit => fruit.StartsWith("a"));
List list3 = new List();
foreach (string fruit in query1)
{
list3.Add(fruit);
}
// 从LINQ查询得到的IEnumerable对象中使用AddRange方法添加多个元素到集合中
IEnumerable query2 = list1.Where(fruit => fruit.StartsWith("a"));
List list4 = new List();
list4.AddRange(query2);
通过以上示例代码可以看出,对于从LINQ查询得到的IEnumerable对象,更加推荐使用AddRange方法来添加元素到集合中。