Indexers (C# Programming Guide)
Os Indexadores permitem que as instâncias de uma classe ou estrutura sejam indexadas apenas como vetores. Os indexadores semelhantes aos Propriedades , exceto que os seus assessores assumam parâmetros.
No exemplo a seguir, uma classe genérica é definida e fornecida com o simples obter e set métodos de assessor como um meio de atribuir e recuperar valores. O Program classe cria uma instância dessa classe para armazenar seqüências de caracteres.
class SampleCollection<T>
{
// Declare an array to store the data elements.
private T[] arr = new T[100];
// Define the indexer, which will allow client code
// to use [] notation on the class instance itself.
// (See line 2 of code in Main below.)
public T this[int i]
{
get
{
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array.
return arr[i];
}
set
{
arr[i] = value;
}
}
}
// This class shows how client code uses the indexer.
class Program
{
static void Main(string[] args)
{
// Declare an instance of the SampleCollection type.
SampleCollection<string> stringCollection = new SampleCollection<string>();
// Use [] notation on the type.
stringCollection[0] = "Hello, World";
System.Console.WriteLine(stringCollection[0]);
}
}
Visão geral de indexadores
Indexadores permitem que objetos sejam indexados de maneira semelhante a vetores.
A get acessador retorna um valor. A set acessador atribui um valor.
O Este palavra-chave é usada para definir os indexadores.
O valor palavra-chave é usada para definir o valor que está sendo atribuído pelo set indexador.
Os indexadores não precisam ser indexados por um valor inteiro; é você como definir o mecanismo de pesquisa específicos.
Indexadores podem ser sobrecarregados.
Indexadores podem ter mais do que um parâmetro formal, por exemplo, quando acessa um vetor de duas dimensões.
Seções relacionadas
Comparação entre as Propriedades e os indexadores (guia de programação de C#)
Restringindo a acessibilidade do acessador (C# guia de programação)
Especificação da linguagem C#
Para obter mais informações, consulte C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Properties (C# Programming Guide)