接口来源于ADT,依旧是泛型编程。编译没有错误。完整的项目已经提交到csdn code了,如果需要请留言。
///数组
interface iArray<T>
{
Status InitArray(int dims, params int[] dimLens);
void DestroyArray();
Status Value(ref T value, params int[] pos);
Status Assign(T value, params int[] pos);
}
///
///数组的顺序实现
class SeqArray<T> : iArray<T>
{
static int MAX_DEMENTSIZE = 6;
int dimtions = 0;
T[][][][][] data5;
T[][][][] data4;
T[][][] data3;
T[][] data2;
T[] data1;
public Status InitArray(int dims, params int[] dimLens)
{
try
{
if (dims > 0 && dims <= MAX_DEMENTSIZE)
{
switch (dims)
{
case 1:
data1 = new T[dimLens[0]];
break;
case 2:
data2 = new T[dimLens[0]][];
for (int i = 0; i < dimLens[0]; i++)
{
data2[i] = new T[dimLens[1]];
}
break;
case 3: