当前位置:  开发笔记 > 编程语言 > 正文

C#中结构中的多维数组

如何解决《C#中结构中的多维数组》经验,为你挑选了1个好方法。

我正在尝试将以下内容(缩短为了可读性)转换为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];
}

我得到的错误是语法错误,而且[由于我期望的是单个维度数组的限制,因此是预期的.

有没有解决的办法?



1> Jon Skeet..:

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

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

然后进行适当的算术以获得单个值.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有