添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
public:
 void AddRange(System::Collections::Generic::IEnumerable<T> ^ collection);
public void AddRange (System.Collections.Generic.IEnumerable<T> collection);
member this.AddRange : seq<'T> -> unit
Public Sub AddRange (collection As IEnumerable(Of T))

下列範例示範 AddRange 類別的 方法和各種其他方法,這些方法 List<T> 會處理範圍。 字串的陣列會建立並傳遞至建構函式,以數位的元素填入清單。 系統會 AddRange 呼叫 方法,並將清單當做其自變數。 結果是清單的目前元素會新增至清單結尾,並複製所有元素。

using namespace System;
using namespace System::Collections::Generic;
void main()
    array<String^>^ input = { "Brachiosaurus", 
                              "Amargasaurus", 
                              "Mamenchisaurus" };
    List<String^>^ dinosaurs = 
        gcnew List<String^>((IEnumerable<String^>^) input);
    Console::WriteLine("\nCapacity: {0}", dinosaurs->Capacity);
    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
        Console::WriteLine(dinosaur);
    Console::WriteLine("\nAddRange(dinosaurs)");
    dinosaurs->AddRange(dinosaurs);
    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
        Console::WriteLine(dinosaur);
    Console::WriteLine("\nRemoveRange(2, 2)");
    dinosaurs->RemoveRange(2, 2);
    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
        Console::WriteLine(dinosaur);
    input = gcnew array<String^> { "Tyrannosaurus", 
                                   "Deinonychus", 
                                   "Velociraptor"};
    Console::WriteLine("\nInsertRange(3, (IEnumerable<String^>^) input)");
    dinosaurs->InsertRange(3, (IEnumerable<String^>^) input);
    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
        Console::WriteLine(dinosaur);
    Console::WriteLine("\noutput = dinosaurs->GetRange(2, 3)->ToArray()");
    array<String^>^ output = dinosaurs->GetRange(2, 3)->ToArray();
    Console::WriteLine();
    for each(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, (IEnumerable<String^>^) input)
Brachiosaurus
Amargasaurus
Amargasaurus
Tyrannosaurus
Deinonychus
Velociraptor
Mamenchisaurus
output = dinosaurs->GetRange(2, 3)->ToArray()
Amargasaurus
Tyrannosaurus
Deinonychus
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
Imports System.Collections.Generic
Public Class Example
    Public Shared Sub Main()
        Dim input() As String = { "Brachiosaurus", _
                                  "Amargasaurus", _
                                  "Mamenchisaurus" }
        Dim dinosaurs As New List(Of String)(input)
        Console.WriteLine(vbLf & "Capacity: {0}", dinosaurs.Capacity)
        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Console.WriteLine(vbLf & "AddRange(dinosaurs)")
        dinosaurs.AddRange(dinosaurs)
        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Console.WriteLine(vbLf & "RemoveRange(2, 2)")
        dinosaurs.RemoveRange(2, 2)
        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        input = New String() { "Tyrannosaurus", _
                               "Deinonychus", _
                               "Velociraptor" }
        Console.WriteLine(vbLf & "InsertRange(3, input)")
        dinosaurs.InsertRange(3, input)
        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Console.WriteLine(vbLf & "output = dinosaurs.GetRange(2, 3).ToArray")
        Dim output() As String = dinosaurs.GetRange(2, 3).ToArray()
        Console.WriteLine()
        For Each dinosaur As String In output
            Console.WriteLine(dinosaur)
    End Sub
End Class
' 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
	

集合中的項目順序會保留在 中 List<T>

如果新的 Count (目前 Count 加上集合大小) 大於 Capacity,則會藉由自動重新配置內部數位以容納新元素來增加的容量 List<T> ,而現有的元素會在新增專案之前複製到新的數位。

如果 可以容納新元素而不增加 Capacity,這個方法是 o (n) 作業,其中 n 是要加入的項目數目。List<T> 如果需要增加容量以容納新的元素,這個方法會變成 O (nm) 作業,其中 n + 是要加入的項目數目,而 mCount