5

我正在尝试将以下内容(为便于阅读而缩短)转换为 C# 并遇到问题

#define DISTMAX 10
struct Distort {
  int    a_order;
  double a[DISTMAX][DISTMAX];
};

我认为在结构中这是使用“固定”的简单案例,但是我仍然遇到问题。

这是我所拥有的(在页面上方有一个定义):

const int DISTMAX = 10;
struct Distort
{
        int a_order;
        fixed double a[DISTMAX,DISTMAX];
}

我得到的错误是由于我期望是单维数组的限制而导致 ] 和 [ 的语法错误。

有没有解决的办法?

4

1 回答 1

7

固定大小的缓冲区只能是一维的。您需要使用:

unsafe struct Distort
{
     int a_order;
     fixed double a[DISTMAX * DISTMAX];
}

然后进行适当的算术运算以获得各个值。

于 2009-03-20T10:19:13.453 回答