【C#學習筆記】 List.AddRange 方法


[官方筆記]

將指定集合的元素添加到 List 的末尾

命名空間:System.Collections.Generic
程序集:mscorlib(在 mscorlib.dll 中)

public:
void AddRange 
(   IEnumerable<T>^ collection )

collection : 一個集合,其元素應被添加到 List 的末尾。集合自身不能為 空引用(在 Visual Basic 中為 Nothing),

      但它可以包含為 空引用(在 Visual Basic 中為 Nothing) 的元素(如果類型 T 為引用類型)。

 

備注:
  List  中會保留集合中元素的順序。

如果新的 Count(當前 Count 加上集合的大小)大於 Capacity,則會通過自動重新分配內部數組增大 List 的容量以容納新元素,並在添加新元素之前將現有元素復制到新數組中。

如果 List 可以在不增加 Capacity 的情況下容納新元素,則此方法是 O(n) 運算,其中 n 是要添加的元素數。如果需要增加此容量以容納新元素,則此方法變為 O(n + m) 運算,其中 n 是要添加的元素數,m 是 Count

示例:

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);
        }
    }
}

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM