Collection<T>.Item[Int32] Özellik

Tanım

Belirtilen dizindeki öğeyi alır veya ayarlar.

C#
public T this[int index] { get; set; }

Parametreler

index
Int32

Alınacak veya ayarlanacak öğenin sıfır tabanlı dizini.

Özellik Değeri

T

Belirtilen dizindeki öğe.

Uygulamalar

Özel durumlar

index, sıfırdan küçüktür.

-veya-

index eşittir veya değerinden Countbüyüktür.

Örnekler

Aşağıdaki kod örneği, birçok özelliğini ve yöntemini Collection<T>gösterir. Kod örneği bir dize koleksiyonu oluşturur, yöntemini kullanarak Add birkaç dize ekler, dizeleri Countgörüntüler ve listeler. Örnek, bir dizenin dizinini bulmak için yöntemini ve bir dizenin Contains koleksiyonda olup olmadığını belirlemek için yöntemini kullanırIndexOf. Örnek, yöntemini kullanarak Insert bir dize ekler ve varsayılan Item[] özelliği (C# dilinde dizin oluşturucu) kullanarak dizeleri alır ve ayarlar. Örnek, yöntemini kullanarak dize kimliğine Remove ve yöntemini kullanarak dizine göre dizeleri RemoveAt kaldırır. Son olarak, Clear yöntemi koleksiyondaki tüm dizeleri temizlemek için kullanılır.

C#
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> dinosaurs = new Collection<string>();

        dinosaurs.Add("Psitticosaurus");
        dinosaurs.Add("Caudipteryx");
        dinosaurs.Add("Compsognathus");
        dinosaurs.Add("Muttaburrasaurus");

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count);
        Display(dinosaurs);

        Console.WriteLine("\nIndexOf(\"Muttaburrasaurus\"): {0}",
            dinosaurs.IndexOf("Muttaburrasaurus"));

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}",
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";
        Display(dinosaurs);

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");
        Display(dinosaurs);

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs.Clear()");
        dinosaurs.Clear();
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }

    private static void Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in cs )
        {
            Console.WriteLine(item);
        }
    }
}

/* This code example produces the following output:

4 dinosaurs:

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")

Psitticosaurus
Caudipteryx
Nanotyrannus
Compsognathus
Muttaburrasaurus

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"

Psitticosaurus
Caudipteryx
Microraptor
Compsognathus
Muttaburrasaurus

Remove("Microraptor")

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

RemoveAt(0)

Caudipteryx
Compsognathus
Muttaburrasaurus

dinosaurs.Clear()
Count: 0
 */

Açıklamalar

Collection<T> başvuru türleri için geçerli bir değer olarak kabul eder null ve yinelenen öğelere izin verir.

Bu özellik, aşağıdaki söz dizimini kullanarak koleksiyondaki belirli bir öğeye erişme olanağı sağlar: myCollection[index].

C# dili , özelliğini uygulamak Item[] yerine dizin oluşturucuları tanımlamak için bu anahtar sözcüğü kullanır. Visual Basic, aynı dizin oluşturma işlevini sağlayan varsayılan bir özellik olarak uygular Item[] .

Bu özelliğin değerini almak bir O(1) işlemidir; özelliğini ayarlamak da bir O(1) işlemidir.

Devralanlara Notlar

Türetilmiş sınıflar bu özelliği ayarlama davranışını değiştirmek için geçersiz kılabilir SetItem(Int32, T) .

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Ayrıca bkz.