【问题标题】:Multidimensional Arrays in a struct in C#C# 结构中的多维数组
【发布时间】:2010-10-14 12:20:30
【问题描述】:

我正在尝试将以下(为便于阅读而缩短)转换为 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];
}

我得到的错误是 ] 和 [ 是预期的语法错误,因为我认为这是一维数组的限制。

有没有办法解决这个问题?

【问题讨论】:

    标签: c# arrays multidimensional-array


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 2021-09-22
      • 1970-01-01
      • 2020-09-19
      • 2021-12-14
      相关资源
      最近更新 更多