Indexadores (guia de programação do C#)
Indexadores permitem instâncias de uma classe ou estrutura a ser indexados assim como matrizes.Indexadores são semelhantes a propriedades exceto que seus acessadores tiverem parâmetros.
No exemplo a seguir, uma classe genérica é definida e fornecida com obter simples e os métodos acessadores de dataset como um meio de atribuição e recuperar valores.A classe de Program cria uma instância desta classe para armazenar cadeias 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]);
}
}
// Output:
// Hello, World.
Observação |
---|
Para obter mais exemplos, consulte Seções relacionadas. |
Visão geral dos indicadores
Indexadores permitem que objetos a ser indexados de maneira semelhante para matrizes.
Um acessador de get retorna um valor.Um acessador de set atribui um valor.
A palavra-chave isso é usado para definir os indicadores.
A palavra-chave valor é usado para definir o valor que está sendo atribuído pelo indexador de set .
Indexadores não precisam ser indexados por um valor inteiro; você pode definir como o mecanismo específico de consulta.
Indexadores podem ser sobrecarregados.
Indexadores podem ter mais de um parâmetro formal, por exemplo, ao acessar uma matriz bidimensional.
Seções relacionadas
Comparação entre as propriedades e os indexadores (guia de programação do C#)
Restringindo a acessibilidade do acessador (C# Guia de programação)
Especificação da linguagem C#
Para obter mais informações, consulte Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.
Consulte também
Referência
Propriedades (guia de programação do C#)