War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Item-Eigenschaft

ReadOnlyCollection<T>.Item-Eigenschaft

Aktualisiert: November 2007

Ruft das Element am angegebenen Index ab.

Namespace:  System.Collections.ObjectModel
Assembly:  mscorlib (in mscorlib.dll)

public T Item[
	int index
] { get; }
/** @property */
public T get_Item(
	int index
)

JScript unterstützt keine indizierten Eigenschaften.

Parameter

index
Typ: System.Int32
Der nullbasierte Index des abzurufenden Elements.

Eigenschaftenwert

Typ: T
Das Element am angegebenen Index.

AusnahmeBedingung
ArgumentOutOfRangeException

index ist kleiner als 0 (null).

- oder -

index ist größer oder gleich Count.

Diese Eigenschaft ermöglicht den Zugriff auf ein bestimmtes Element in der Auflistung mithilfe der folgenden C#-Syntax: myCollection[index] (myCollection(index) in Visual Basic).

Die Programmiersprache C# verwendet das this-Schlüsselwort, um die Indexer zu definieren, statt die Item-Eigenschaft zu implementieren. Visual Basic implementiert Item als Standardeigenschaft, die dieselbe Indizierungsfunktionalität bereitstellt.

Das Abrufen des Werts dieser Eigenschaft ist ein O(1)-Vorgang.

Im folgenden Codebeispiel werden mehrere Member der ReadOnlyCollection<T>-Klasse veranschaulicht. Im Codebeispiel wird eine List<T> von Zeichenfolgen erstellt, und dieser werden vier Dinosauriernamen hinzugefügt. Im Codebeispiel wird dann die Liste in einer ReadOnlyCollection<T> gewrappt.

Nach der Veranschaulichung der Member Count, Contains, Item und IList.IndexOf wird im Codebeispiel gezeigt, dass die ReadOnlyCollection<T> nur einen Wrapper für die ursprüngliche List<T> darstellt, indem der List<T> ein neues Element hinzugefügt und anschließend der Inhalt der ReadOnlyCollection<T> angezeigt wird.

Abschließend wird im Codebeispiel ein Array erstellt, das größer als die Auflistung ist, und mit der CopyTo-Methode werden die Elemente der Auflistung in der Mitte des Arrays eingefügt.

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Compsognathus");

        ReadOnlyCollection<string> readOnlyDinosaurs = 
            new ReadOnlyCollection<string>(dinosaurs);

        Console.WriteLine();
        foreach( string dinosaur in readOnlyDinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nCount: {0}", readOnlyDinosaurs.Count);

        Console.WriteLine("\nContains(\"Deinonychus\"): {0}", 
            readOnlyDinosaurs.Contains("Deinonychus"));

        Console.WriteLine("\nreadOnlyDinosaurs[3]: {0}", 
            readOnlyDinosaurs[3]);

        Console.WriteLine("\nIndexOf(\"Compsognathus\"): {0}", 
            readOnlyDinosaurs.IndexOf("Compsognathus"));

        Console.WriteLine("\nInsert into the wrapped List:");
        Console.WriteLine("Insert(2, \"Oviraptor\")");
        dinosaurs.Insert(2, "Oviraptor");

        Console.WriteLine();
        foreach( string dinosaur in readOnlyDinosaurs )
        {
            Console.WriteLine(dinosaur);
        }

        string[] dinoArray = new string[readOnlyDinosaurs.Count + 2];
        readOnlyDinosaurs.CopyTo(dinoArray, 1);

        Console.WriteLine("\nCopied array has {0} elements:", 
            dinoArray.Length);
        foreach( string dinosaur in dinoArray )
        {
            Console.WriteLine("\"{0}\"", dinosaur);
        }
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Deinonychus
Compsognathus

Count: 4

Contains("Deinonychus"): True

readOnlyDinosaurs[3]: Compsognathus

IndexOf("Compsognathus"): 3

Insert into the wrapped List:
Insert(2, "Oviraptor")

Tyrannosaurus
Amargasaurus
Oviraptor
Deinonychus
Compsognathus

Copied array has 7 elements:
""
"Tyrannosaurus"
"Amargasaurus"
"Oviraptor"
"Deinonychus"
"Compsognathus"
""
 */


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC, Xbox 360

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0

.NET Compact Framework

Unterstützt in: 3.5, 2.0

XNA Framework

Unterstützt in: 2.0, 1.0

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft