索引器是一个非常快速查找,赋值的一个方法。
建立一个索引器是一个简单的过程。
索引器和属性有同样的get和set。用法也是一样的
不过在索引器的建立的时候,要注意必须要返回值和this关键字【对应着实例化的类】
索引器不限制重载
索引器不限参数数量
索引器不限制返回值类型但必须有
public class TestIndex
{
private int [] id;
public TestIndex(int n) => id = new int[n];
public int this[int index]
{
get
{
if (index <= id.Length)
return id[index];
return int.MinValue;
}
set
{
if (index < id.Length)
id[index] = value;
}
}
public int [] this[int from,int to]
{
get
{
int[] reulst=null;
if (from < id.Length && from >= 0 && to < id.Length && to >= 0)
{
if (from == to)
return new int[] { id[from] };
reulst = new int[to - from];
while (from < to)
{
reulst[from] = id[from];
from++;
}
}
return reulst;
}
}
}
class Program
测试
class Program
{
static void Main(string[] args)
{
var test = new TestIndex(5);
test[0] = 10;
test[1] = 20;
test[2] = 30;
var ten = test[0];
Console.WriteLine(ten);
//输出10
var array = test[0, 2];
foreach (var item in array)
Console.WriteLine($"{item}");
//输出10 20
}
}