要拥有索引器,我们使用以下格式:
class ClassName
{
DataType[] ArrayName = new DataType[Length];
public DataType this[int i]
{
get { return ArrayName[i]; }
}
}
为了简单起见,我使用了这种格式,即使我们也可以使用自定义索引器。根据我的理解,我们保留了一个索引的属性数组。
我的问题是:
答案 0 :(得分:2)
这与代码优化无关 你可以在你的类中编写一个方法,它可以从你拥有的集合中获取项目。
e.g。
public DataType GetItemByIndex(int i)
{
}
索引器在某种程度上是“语法糖”,让用户将实例视为数组或集合。
答案 1 :(得分:1)
这不是模板属性,它是参数属性 - 这是一个接受参数参数的属性。
这可归结为简单地用get_Item(Int32)
方法代替get_Item()
方法,该方法通常由编译器代替无参数属性发出。因此,这并没有为优化提供太多机会。