我有一类的二维数组。数组的大小非常大(大约3000 * 3000),使用普通的行和列方法访问数组会花费很多时间。为此,我想使用指针来访问数组。

以下是我的数组代码:

类定义:

Class BoxData
{
  Size _bound;
  bool _isFilled=false;
  Color _color=Colors.White;

  public Size Bounds
  {
    get
    {
      return _bound;
    }
    set
    {
      _bound=value;
    }
  }

  public bool IsFilled
  {
    get
    {
      return _isFilled;
    }
    set
    {
      _isFilled=value;
    }
  }

  public Color FillColor
  {
    get
    {
      return _color;
    }
    set
    {
      _color=value;
    }
  }
}


在应用程序中用作数组的类:

BoxData[,] boxData=new BoxData[3000,3000];


我想使用指针访问boxData。

谢谢

最佳答案

尝试使用锯齿状数组而不是多维数组,它们在Microsoft的CLR实现中为faster

BoxData[][] boxData=new BoxData[3000][];
for (int i=0; i<3000; i++)
    boxData[i] = new BoxData[3000];

关于c# - 在WPF C#中使用点访问2D数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4022172/

10-12 06:42