我在 MSDN - Indexers 中读到了索引器这解释了我们如何使用带有索引的数组之类的对象,即就像普通数组一样。但是,我认为我们可以创建像这样的对象数组
point[] array = new point[100];
那么 Indexer 相对于对象数组的特殊优势是什么?
最佳答案
如果您所追求的只是一个对象集合,那么索引器绝对没有数组的优势。但是,如果您需要存储状态和集合,这就是索引器的用武之地。
例如,考虑以下内容
public class Tree
{
private Branch[] branches = new Branch[100];
...
public string Name { get; set; }
public Branch this[int i]
{
get
{
return branches[i];
}
}
}
Tree
拥有一个内部集合,但也有它自己的状态。拥有一个索引器属性允许简单地访问底层集合,例如
tree.Name = "Tree";
var branch = tree[0];
关于c# - 索引器相对于对象数组的优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25949676/