为什么要使用超过两个维度的数组?

Sci*_*-fi 2 c# arrays multidimensional-array

我无法绕过具有两个以上维度的数组概念,为什么需要一个,以及如何使用它.

例如,您将如何在multidimesional数组中表示以下数据?

性别:男性| 女性
头发颜色:金发| 布鲁内特| 黑色
眼睛颜色:蓝色| 布朗| 绿色| 榛

Instinct告诉我,我应该创建一个数组:

string[,,] personAttributes = new string[2,3,4]

请说明如何在没有循环的情况下填充此数组,然后使用循环.对概念和用法的任何扩展表示赞赏.

cle*_*tus 8

当您有三个或更多维度的数据时,冒着听起来陈腐的风险,您可以使用三维或更多维的数组.所以我猜你在设想三维数据方面遇到了麻烦.

怎么样3 d井字?三维数据的任何离散表示都适合此类别.

至于头发颜色等属性,我不会为此使用多维数组.根据需要使用具有该属性的对象和枚举(例如,性别作为枚举).那将是比的N维阵列更具有可读性.


Art*_*ius 8

我不打算触及你的personAttributes例子,因为我不认为2D数组是一个好主意,更不用说3D(我个人会使用结构数组).

但是,当您拥有某种正交数据空间时,多维数组非常有用(即,您有多个彼此独立的"选择").

例如,如果您在10次测试中存储20个人的响应时间,其中每个测试重复3次,并且整个过程每月进行一次,持续12个月,您可能会有这样的数组:

double[,,,] responseTime = new double [12,20,10,3];
Run Code Online (Sandbox Code Playgroud)