索引器 (indexer) 是这样一个成员:它支持按照索引数组的方法来索引对象。索引器的声明与属性类似,不同的是该成员的名称是this,后跟一个位于定界符[和]之间的参数列表。在索引器的访问器中可以使用这些参数。与属性类似,索引器可以是读写、只读和只写的,并且索引器的访问器可以是虚的。
该List类声明了单个读写索引器,该索引器接受一个int参数。该索引器使得通过int值对List实例进行索引成为可能。例如
List
names.Add(“Liz”);
names.Add(“Martha”);
names.Add(“Beth”);
for (int i = 0; i < names.Count; i++) {
string s = names[i];
names[i] = s.ToUpper();
}
索引器可以被重载,这意味着一个类可以声明多个索引器,只要其参数的数量和类型不同即可。
using System;
namespace _135_索引器
{
class Program
{
static void Main(string[] args)
{
//索引器:方便使用类中的集合
Person p = new Person();
p[0] = 1;
Console.WriteLine(p[0]);
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _135_索引器
{
class Person
{
int[] nums = new int[100];
//通过索引访问这个数组中的某一元素
public int this[int index]
{
get { return nums[index]; }
set { nums[index] = value; }
}
}
}