基本索引器
class MyCollection
{
private string[] data = new string[10];
// 索引器
public string this[int index]
{
get { return data[index]; }
set { data[index] = value; }
}
}
class Program
{
static void Main()
{
MyCollection collection = new MyCollection();
// 使用索引器设置值
collection[0] = "Item 1";
// 使用索引器获取值
string value = collection[0];
Console.WriteLine(value); // 输出: Item 1
}
}
在这个例子中,MyCollection 类定义了一个名为 data 的私有数组,并使用索引器允许外部代码通过整数索引访问和修改数组元素。
多维索引器
class Matrix
{
private int[,] data = new int[3, 3];
// 多维索引器
public int this[int row, int col]
{
get { return data[row, col]; }
set { data[row, col] = value; }
}
}
class Program
{
static void Main()
{
Matrix matrix = new Matrix();
// 使用多维索引器设置值
matrix[0, 0] = 1;
// 使用多维索引器获取值
int value = matrix[0, 0];
Console.WriteLine(value); // 输出: 1
}
}
这个例子中,Matrix 类定义了一个多维数组,并使用多维索引器允许通过两个整数索引访问和修改数组元素。
集合类中的索引器
索引器通常在集合类中使用,以提供类似数组的访问方式。例如,List<T> 类使用索引器来获取和设置列表中的元素:
List<int> myList = new List<int> { 1, 2, 3, 4, 5 };
int element = myList[2]; // 获取索引为2的元素,值为3
使用索引器,你可以使类的实例在使用时更加直观和易于理解,同时提供了对类内部数据结构的封装。
转载请注明出处:http://www.pingtaimeng.com/article/detail/6364/C#