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

发布于 2024-10-17 22:01:21 字数 400 浏览 5 评论 0原文

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

对于单个对象:

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];

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

How can we use indexers if we are using array of objects???

For a single object:

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]);

What should be done for array of objects?

MYInd[] mir = new MYInd[3];

How can we use each object and the indexer?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦幻之岛 2024-10-24 22:01:21

你有几个选项,如果你想迭代,你可以做

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]);

You have a couple of options, if you want to iterate you do

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

If you want to pick out a specific MYInd from the array you can do it in one step

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

or in two steps

MYInd mi = mir[1]; // pick out one object from the array
Console.WriteLine(mi[3, 10]);
自在安然 2024-10-24 22:01:21
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();
}
mir[0][1, 2]

But you can imagine it as:

(mir[0])[1, 2]

The brackets aren't necessary because the [ operator is parsed left to right (like (1 + 2) + 3 == 1 + 2 + 3. I think it's called left-associativity, but I'm not sure sure :-) )

Remember that you have to initialize BOTH the array and the elements:

var mir = new MyInd[5];
for (int i = 0; i < mir.Length; i++) 
{
    mir[i] = new MyInd();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文