List<T>.GetRange(Int32, Int32) 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.
kaynağındaki List<T>bir öğe aralığının sığ bir kopyasını oluşturur.
public:
System::Collections::Generic::List<T> ^ GetRange(int index, int count);
public System.Collections.Generic.List<T> GetRange(int index, int count);
member this.GetRange : int * int -> System.Collections.Generic.List<'T>
Public Function GetRange (index As Integer, count As Integer) As List(Of T)
Parametreler
- count
- Int32
Aralıktaki öğelerin sayısı.
Döndürülenler
Kaynağındaki List<T>bir öğe aralığının sığ bir kopyası.
Özel durumlar
index ve count içindeki List<T>geçerli bir öğe aralığını ifade etmeyin.
Örnekler
Aşağıdaki örnek, sınıfın GetRange aralıklar üzerinde hareket eden yöntemini ve diğer yöntemlerini List<T> gösterir. Örneğin sonunda, GetRange dizin konumu 2'den başlayarak listeden üç öğe almak için yöntemi kullanılır. yöntemi ToArray , üç öğeden oluşan bir dizi oluşturarak elde edilen üzerinde çağrılır List<T>. Dizinin öğeleri görüntülenir.
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
Başvuru türleri koleksiyonunun sığ bir kopyası veya bu koleksiyonun bir alt kümesi, yalnızca koleksiyonun öğelerine yönelik başvuruları içerir. Nesnelerin kendileri kopyalanmaz. Yeni listedeki başvurular, özgün listedeki başvurularla aynı nesneleri gösterir.
Değer türleri koleksiyonunun sığ bir kopyası veya bu koleksiyonun bir alt kümesi, koleksiyonun öğelerini içerir. Ancak, koleksiyonun öğeleri diğer nesnelere başvurular içeriyorsa, bu nesneler kopyalanmaz. Yeni koleksiyonun öğelerindeki başvurular, özgün koleksiyonun öğelerindeki başvurularla aynı nesnelere işaret eder.
Buna karşılık, bir koleksiyonun derin bir kopyası öğeleri ve öğeler tarafından doğrudan veya dolaylı olarak başvuruda bulunılan her şeyi kopyalar.
Bu yöntem, n olan bir O(n) işlemidircount.