假设我有一个类似下面的类,如果我想添加一些类型作为列表,那么我可以这样做
class student
{
public string name { get; set; }
}
class MainClass
{
static void Main()
{
var lists = new List<student>();
lists.Add(new student { name = "foo" });
lists.Add(new student { name = "mary" });
lists.Add(new student { name = "jane" });
lists[1].name = "moo";
}
}
现在,Indexer也是如此,那么我为什么要使用索引器而不是List
class TempRecord
{
// Array of temperature values
private float[] temps = new float[10];
public float this[int index]
{
get
{
return temps[index];
}
set
{
temps[index] = value;
}
}
}
class MainClass
{
static void Main()
{
TempRecord tempRecord = new TempRecord();
// Use the indexer's set accessor
tempRecord[3] = 58.3F;
tempRecord[5] = 60.1F;
}
}
我的问题是 1.当我们有List做同样的工作时,为什么索引器首先需要 2.使用索引器是否有任何clr优势