如何将索引器与对象数组一起使用?

时间:2011-02-19 06:37:08

标签: c# .net arrays indexer

如果我们使用对象数组,我们如何使用索引器

对于单个对象:

static void Main(string[] args)
{
    MYInd mi = new MYInd();
    mi[1] = 10;
    Console.WriteLine(mi[1]);
    mi[2, 10] = 100;
    Console.WriteLine(mi[2]);

    Console.WriteLine(mi[3, 10]);

对象数组应该怎么做?

MYInd[] mir = new MYInd[3];

我们如何使用每个对象和索引器?

2 个答案:

答案 0 :(得分:2)

你有几个选择,如果你想迭代你做

foreach(MYInd mi in mir)
    Console.WriteLine(mi[3, 10]);

如果您想从阵列中挑选出特定的MYInd,您可以一步完成

Console.WriteLine(mir[1][3, 10]); // [1] picks out one object from the array

或分两步

MYInd mi = mir[1]; // pick out one object from the array
Console.WriteLine(mi[3, 10]);

答案 1 :(得分:0)

mir[0][1, 2]

但你可以把它想象成:

(mir[0])[1, 2]

括号不是必需的,因为[运算符从左到右解析(如(1 + 2)+ 3 == 1 + 2 + 3.我认为它被称为左关联,但我不确定:-))

请记住,您必须初始化数组和元素:

var mir = new MyInd[5];
for (int i = 0; i < mir.Length; i++) 
{
    mir[i] = new MyInd();
}