索引器(Indexer):官方说法是一种类成员,它允许类或结构的实例按与数组相同的方式排序,索引器与属性类似,只不过索引器的gei和set访问器方法带有参数,而属性访问器方法不带参数。
个人理解: 索引器是c#的一种语法构造,他可以另你用数组的方式来访问类中的集合。索引器是一种特殊的属性,他可以像属性一样通过get和set访问器的方式来指定其行为,不过要额外带参数从集合中取出或者给予赋值行为。
索引器特性
1、get 访问器形参
iis7站长之家。set 访问器分配值。
2、this 关键字用于定义索引器。
3、value 关键字用于定义由 set 索引器分配的值。
4、索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。
5、索引器可被重载。
6、索引器可以有多个形参,例如当访问二维数组时。
7、索引器使得对象可按照与数组相似的方法进行索引。
示例代码1:
class SampleCollection
{
private T[] arr = new T[100];
public T this[int i]
{
get
{
return arr[i];
}
set
{
arr[i] = value;
}
}
}
class Program
{
static void Main(string[] args)
{
SampleCollection stringCollection = new SampleCollection();
stringCollection[0] = "Hello, World";
System.Console.WriteLine(stringCollection[0]);
}
}