Collection<T>.Item[Int32] Propiedad

Definición

Obtiene o establece el elemento en el índice especificado.

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

Parámetros

index
Int32

Índice de base cero del elemento que se va a obtener o establecer.

Valor de propiedad

T

Elemento en el índice especificado.

Implementaciones

Excepciones

index es menor que cero.

O bien

index es igual o mayor que Count.

Ejemplos

En el ejemplo de código siguiente se muestran muchas de las propiedades y métodos de Collection<T>. El ejemplo de código crea una colección de cadenas, usa el Add método para agregar varias cadenas, muestra y Countenumera las cadenas. En el ejemplo se usa el IndexOf método para buscar el índice de una cadena y el Contains método para determinar si una cadena está en la colección. En el ejemplo se inserta una cadena mediante el Insert método y se recuperan y establecen cadenas mediante la propiedad predeterminada Item[] (el indizador en C#). En el ejemplo se quitan las cadenas por identidad de cadena mediante el Remove método y por su índice mediante el RemoveAt método . Por último, el Clear método se usa para borrar todas las cadenas de la colección.

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
 */

Comentarios

Collection<T> null acepta como un valor válido para los tipos de referencia y permite elementos duplicados.

Esta propiedad permite acceder a un elemento determinado de la colección mediante la sintaxis siguiente: myCollection[index].

El lenguaje C# usa la palabra clave this para definir los indexadores en lugar de implementar la Item[] propiedad . Visual Basic implementa Item[] como propiedad predeterminada, lo que proporciona la misma funcionalidad de indización.

Recuperar el valor de esta propiedad es una operación O(1); establecer la propiedad también es una operación O(1).

Notas a los desarrolladores de herederos

Las clases derivadas pueden invalidar SetItem(Int32, T) para cambiar el comportamiento de establecer esta propiedad.

Se aplica a

Produto Versións
.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

Consulte también