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

C# 是否可能包含多维数组的其他信息?,c#,arrays,C#,Arrays,例如: 学校分为两组,每组有5名学生 int[][]groups=new int[2,5]数组显示相应学生的年龄 这是第一组的第一个学生,“他12岁了”和“他的名字叫亚历克斯”。像这样,我可以包含(或调用)其他信息吗 组[2,1]=11二班第一名学生 [一] 是否可能在数组元素上存储其他信息 如果类型是int[][],则不会。但是,您可以做的是定义一个类。比如: public class Child { private string name; private int age;

例如:

学校分为两组,每组有5名学生

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

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

组[2,1]=11
二班第一名学生

[一] 是否可能在数组元素上存储其他信息

如果类型是
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[,]组=新孩子[2,5];
组[0,0]=新生儿(“Alex”,12岁)
第二条语句调用构造函数并创建一个新的
子对象

补充说明:

  • 默认情况下,索引的偏移量为零。因此分配给
    组[2,1]
    是不可能的;及
  • int[][]
    int[,]
    不同

创建一个
Student
类。不要将数组设为“int”,而是创建一个包含“int”和其他信息的类。请注意,这与数组的性质无关。你基本上是在问
int
是否可以存储数字以外的任何东西:不,它不能。在现实世界中,我们通常不使用多维数组。我们创建表示所需数据的类,然后该类的实例可以放在一个数组中(或者更常见的是一个
列表
)。@JonSkeet我想他是说,例如,可以使用不同的位掩码从单个int值存储/检索不同的数据。例如,前8位为8位数字,第9位为性别的位标志(例如),依此类推..谢谢。而且,如果我处理的是大数据,我会在测试标准中使用它们的数字(年龄),可以调用每个类吗?@TomooMGL:调用每个类是什么意思?我的意思是,这需要很长时间吗?是不是。@TomooMGL:这比使用
int
s要花一点时间,因为它会在堆上分配,等等。但是由于数组包含2x5=10个元素,这不是问题。只有在处理超过100万个元素的情况下,性能才会成为一个问题。