List<T>.InsertRange(Int32, IEnumerable<T>) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir koleksiyonun öğelerini belirtilen dizine List<T> ekler.
public:
void InsertRange(int index, System::Collections::Generic::IEnumerable<T> ^ collection);
public void InsertRange(int index, System.Collections.Generic.IEnumerable<T> collection);
member this.InsertRange : int * seq<'T> -> unit
Public Sub InsertRange (index As Integer, collection As IEnumerable(Of T))
Parametreler
- index
- Int32
Yeni öğelerin eklenmesi gereken sıfır tabanlı dizin.
- collection
- IEnumerable<T>
öğeleri içine List<T>eklenmesi gereken koleksiyon. Koleksiyonun kendisi olamaznull, ancak tür null bir başvuru türüyse olan öğeleri Tiçerebilir.
Özel durumlar
collection, null'e eşittir.
Örnekler
Aşağıdaki örnek, yöntemini ve sınıfın InsertRange aralıklar üzerinde hareket eden diğer çeşitli yöntemlerini gösterirList<T>. Liste oluşturulduktan ve birkaç huzurlu bitki yiyen dinozorların adlarıyla doldurulduktan sonra, InsertRange yöntem dizin konumundan başlayarak listeye üç vahşi et yiyen dinozor dizisi eklemek için kullanılır 3.
using System;
using System.Collections.Generic;
string[] input = { "Apple",
"Banana",
"Orange" };
List<string> fruits = new List<string>(input);
Console.WriteLine("\nCapacity: {0}", fruits.Capacity);
Console.WriteLine();
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Console.WriteLine("\nAddRange(fruits)");
fruits.AddRange(fruits);
Console.WriteLine();
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Console.WriteLine("\nRemoveRange(2, 2)");
fruits.RemoveRange(2, 2);
Console.WriteLine();
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
input = new string[] { "Mango",
"Pineapple",
"Watermelon" };
Console.WriteLine("\nInsertRange(3, input)");
fruits.InsertRange(3, input);
Console.WriteLine();
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Console.WriteLine("\noutput = fruits.GetRange(2, 3).ToArray()");
string[] output = fruits.GetRange(2, 3).ToArray();
Console.WriteLine();
foreach (string fruit in output)
{
Console.WriteLine(fruit);
}
/*
This code example produces the following output:
Capacity: 3
Apple
Banana
Orange
AddRange(fruits)
Apple
Banana
Orange
Apple
Banana
Orange
RemoveRange(2, 2)
Apple
Banana
Banana
Orange
InsertRange(3, input)
Apple
Banana
Banana
Mango
Pineapple
Watermelon
Orange
output = fruits.GetRange(2, 3).ToArray()
Banana
Mango
Pineapple
*/
Imports System.Collections.Generic
Partial Public Class Program
Public Shared Sub ShowFruits()
Dim input() As String = { "Apple", _
"Banana", _
"Orange" }
Dim fruits As New List(Of String)(input)
Console.WriteLine(vbLf & "Capacity: {0}", fruits.Capacity)
Console.WriteLine()
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next
Console.WriteLine(vbLf & "AddRange(fruits)")
fruits.AddRange(fruits)
Console.WriteLine()
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next
Console.WriteLine(vbLf & "RemoveRange(2, 2)")
fruits.RemoveRange(2, 2)
Console.WriteLine()
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next
input = New String() { "Mango", _
"Pineapple", _
"Watermelon" }
Console.WriteLine(vbLf & "InsertRange(3, input)")
fruits.InsertRange(3, input)
Console.WriteLine()
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next
Console.WriteLine(vbLf & "output = fruits.GetRange(2, 3).ToArray")
Dim output() As String = fruits.GetRange(2, 3).ToArray()
Console.WriteLine()
For Each fruit As String In output
Console.WriteLine(fruit)
Next
End Sub
End Class
' This code example produces the following output:
'
' Capacity: 3
'
' Apple
' Banana
' Orange
'
' AddRange(fruits)
'
' Apple
' Banana
' Orange
' Apple
' Banana
' Orange
'
' RemoveRange(2, 2)
'
' Apple
' Banana
' Banana
' Orange
'
' InsertRange(3, input)
'
' Apple
' Banana
' Banana
' Mango
' Pineapple
' Watermelon
' Orange
'
' output = fruits.GetRange(2, 3).ToArray
'
' Banana
' Mango
' Pineapple
Açıklamalar
List<T> başvuru türleri için geçerli bir değer olarak kabul eder null ve yinelenen öğelere izin verir.
Yeni Count (geçerli Count artı koleksiyonun boyutu) değerinden büyükse Capacity, yeni öğelere uyum sağlamak için iç dizi otomatik olarak yeniden yerleştirilerek öğesinin kapasitesi List<T> artırılır ve yeni öğeler eklenmeden önce var olan öğeler yeni diziye kopyalanır.
öğesine eşitse indexCount, öğeleri sonuna List<T>eklenir.
Koleksiyondaki öğelerin sırası içinde List<T>korunur.
Bu yöntem bir O(n * m) işlemidir; burada n eklenecek öğe sayısı, m ise olur Count.