是否可能包含有关多维数组的其他信息?

时间:2017-04-11 16:27:28

标签: c# arrays

例如:

学校有两个小组,每个小组有5个孩子。

int[][] groups = new int[2,5]数组显示相应学生的年龄

groups[1,1] = 12这是第一组的第一个学生,“他12岁”,“他的名字是亚历克斯”。像这样我可以包含(或调用)其他信息吗?

groups[2,1] = 11二年级的第一名学生。 ...

1 个答案:

答案 0 :(得分:5)

  

[我]可能存储有关数组元素的附加信息吗?

如果类型是int[][],则不会。但是你可以做的是定义一个类。像:

public class Child {

    private string name;
    private int age;

    public Child(string name, int age) { // constructor
        this.name = name;
        this.age = age;
    }

}

然后你可以声明一个2d Person数组,如:

Child[,] groups = new Child[2,5];
groups[0,0] = new Child("Alex",12);

第二个语句调用构造函数并创建一个新的Child对象。

补充说明:

  • 默认索引具有零偏移。因此,分配给groups[2,1]是不可能的;和
  • int[][] int[,] 不同。