c# List AddRange

https://msdn.microsoft.com/zh-cn/library/z883w3dc(v=vs.80).aspx

List 中会保留集合中元素的顺序。

如果新的 Count(当前 Count 加上集合的大小)大于 Capacity,则会通过自动重新分配内部数组增大 List 的容量以容纳新元素,并在添加新元素之前将现有元素复制到新数组中。

如果 List 可以在不增加 Capacity 的情况下容纳新元素,则此方法是 O(n) 运算,其中 n 是要添加的元素数。如果需要增加此容量以容纳新元素,则此方法变为 O(n + m) 运算,其中 n 是要添加的元素数,m 是 Count

List.AddRange :将指定集合的元素添加到 List 的末尾。

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        string[] input = { "Brachiosaurus",
                           "Amargasaurus",
                           "Mamenchisaurus" };

        List<string> dinosaurs = new List<string>(input);

        Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);

        Console.WriteLine();
        foreach( string dinosaur in dinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nAddRange(dinosaurs)");
        dinosaurs.AddRange(dinosaurs);

        Console.WriteLine();
        foreach( string dinosaur in dinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nRemoveRange(2, 2)");
        dinosaurs.RemoveRange(2, 2);

        Console.WriteLine();
        foreach( string dinosaur in dinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        input = new string[] { "Tyrannosaurus",
                               "Deinonychus",
                               "Velociraptor"};

        Console.WriteLine("\nInsertRange(3, input)");
        dinosaurs.InsertRange(3, input);

        Console.WriteLine();
        foreach( string dinosaur in dinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\noutput = dinosaurs.GetRange(2, 3).ToArray()");
        string[] output = dinosaurs.GetRange(2, 3).ToArray();

        Console.WriteLine();
        foreach( string dinosaur in output )
        {
            Console.WriteLine(dinosaur);
        }
    }
}

/* This code example produces the following output:

Capacity: 3

Brachiosaurus
Amargasaurus
Mamenchisaurus

AddRange(dinosaurs)

Brachiosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Amargasaurus
Mamenchisaurus

RemoveRange(2, 2)

Brachiosaurus
Amargasaurus
Amargasaurus
Mamenchisaurus

InsertRange(3, input)

Brachiosaurus
Amargasaurus
Amargasaurus
Tyrannosaurus
Deinonychus
Velociraptor
Mamenchisaurus

output = dinosaurs.GetRange(2, 3).ToArray()

Amargasaurus
Tyrannosaurus
Deinonychus
 */

  

时间: 2024-11-20 07:11:22

c# List AddRange的相关文章

C#集合中的Add与AddRange方法

C#.NET的集合主要位于System.Collections和System.Collections.Generic(泛型)这两个namespace中. 1.System.Collections 比如ArrayList,其Add(继承自接口IList)和AddRange方法可用于想集合中添加元素. 代码示例: (1)Add:添加单个元素 ArrayList myAL = new ArrayList(); myAL.Add( "The" ); myAL.Add( "quick&

Add与AddRange

C#.NET的集合主要位于System.Collections和System.Collections.Generic(泛型)这两个namespace中. 1.System.Collections 比如ArrayList,其Add(继承自接口IList)和AddRange方法可用于想集合中添加元素. 代码示例: (1)Add:添加单个元素 1 2 3 4 5 ArrayList myAL = new ArrayList(); myAL.Add( "The" ); myAL.Add( &q

【C#学习笔记】 List.AddRange 方法

[官方笔记] 将指定集合的元素添加到 List 的末尾 命名空间:System.Collections.Generic程序集:mscorlib(在 mscorlib.dll 中) public: void AddRange ( IEnumerable<T>^ collection ) collection : 一个集合,其元素应被添加到 List 的末尾.集合自身不能为 空引用(在 Visual Basic 中为 Nothing), 但它可以包含为 空引用(在 Visual Basic 中为

C#中要使ListBox使用AddRange()时,能够触发SelectedValueChanged事件

1. 要触发 SelectedValueChanged事件,必须要当ListBox所选中的值发生改变 基本思路是: 当AddRange()后,就马上指定ListBox的SelectedIndex,这样就能够触发SelectedValueChanged事件了 相当于人工在代码中选中了一个选项 2. 例子代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;

用AddRange()方法为List批量赋值

List<int> list = new List<int>();list.AddRange(new int[] { 1, 5, 10, 20 ,33 }); //也可直接赋值 List<int> list2 = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //对复杂成员的批量赋值 // 如果容器存放的是非简单对象            List<Point> pointList = new L

数组的Add和AddRange区别

Add:将指定的对象添加到……中 AddRange:向……末尾,添加数组 在群体操作时,使用AddRange取代Add 用AddRange可以让我们要加入的东西一次性加入,而不要每次都加一次,这样显然可以加快速度.几乎所有的windows control都支持Add和AddRange两种方法. 例如: add:for(int i=0;i<list.lenght;i++) { list.add(i); } addRange:list.addRange(list1);  list.addRange(

AddRange 取代 Add

cmd.Parameters的Add方法是增加一个参数,增加多个参数的的时候使用一个foreach循环,cmd.Parameters的AddRange方法是增加一个参数的数组. Add:将指定的对象添加到……中 AddRange:向……末尾,添加数组 在群体操作时,使用AddRange取代Add 用AddRange可以让我们要加入的东西一次性加入,而不要每次只加一个,这样显然可以加快速度.几乎所有的windows control都支持Add和AddRange两种方法. Add: For i =

对于List的All,Any,Where,FirstOrDefault,Average,Sum,Distinct,Union,AddRange,RemoveRange,InsertRange,GetRange操作

对于集合的操作发现现在越来越丰富,今日圣诞节,以常用的List<T>为例静静地看了集合的一些操作,用了发现还真方便. 一.集合的合并,插入,删除,显示AddRange(一个集合):将指定集合的元素添加到末尾.RemoveRange(要移除的元素的范围从零开始的起始索引,要移除的元素数):移除一定范围的元素InsertRange(在此处插入新元素的从零开始的索引,一个集合):将集合插入到指定索引处.也可以对集合选择范围后再插入GetRange(范围开始处从零开始的起始索引,范围中的元素数):返回

Entity Framework 6.0 Tutorials(7):DbSet.AddRange &amp; DbSet.RemoveRange

DbSet.AddRange & DbSet.RemoveRange: DbSet in EF 6 has introduced new methods AddRange & RemoveRange. DbSet.AddRange adds collection(IEnumerable) of entities to the DbContext, so you don't have to add each entity individually. IList<Student>

Add和AddRange的区别

Add和AddRange区别 Add和AddRange Add:将指定的对象添加到……中 AddRange:向……末尾,添加数组 - 在群体操作时,使用AddRange取代Add 用AddRange可以让我们要加入的东西一次性加入,而不要每次都加一次,这样显然可以加快速度.几乎所有的windows control都支持Add和AddRange两种方法. Add: For i = 0 To param.Length - 1 comm.Parameters.Add(param(i)) Next i