索引器(indexer)是一种C#的语法构造,它可以使我们用熟悉的数组[]来访问类中的集合。索引器是一种特殊的属性,有get()和set()访问方法指定其行为,它们用来确定所请求的类型如何从集合中取出或者赋值给集合。
下面例子声明了一个简单的列表框控件ListBox,它有一个简单的数组strings以及一个简单的可以访问其内容的索引器。
ListBox的关键方法是索引器,索引器没有名字,用this关键字。索引器的语法跟属性十分相似。下面例子中get()方法将实现基本的边界检测,如果索引的要求可以接受,就可以请求的值。set()方法检测已设置的索引是否在列表中的值。如果没有,就认为出错(新的元素只能用Add添加。set访问方法利用了隐式参数value,它表示索引操作符所赋的值。
客户代码: