0

我是 C++ 程序员,我被困在一个迁移项目中,我需要将下面的 C++ 代码转换为 C#。同样需要帮助。

unsigned short** varData = new unsigned short*[ndata]; //Say ndata is 10

for(int i=0; i<ndata; i++) varData[i] = new ushort[nwp]; 

提前致谢。

4

3 回答 3

4

这为您提供了一个 16 位无符号整数的 2D 数组,这可能是您尝试在 C++ 中使用指向指针的指针来表达的内容。

  int nData = 10;
  int nwp = 3;

  var varData = new UInt16[ nData, nwp ]; //varData is of type UInt16[,]

http://msdn.microsoft.com/en-us/library/2yd9wwz4(v=vs.71).aspx

于 2013-05-22T07:13:38.107 回答
3

如果我理解正确,您使用 unsigned short** 来存储 ushort 的二维数组。在 C# 中,您可以将其声明为

ushort[,] array = new ushort[m, n];

其中 m 和 n 是维度。

于 2013-05-22T07:15:14.687 回答
1

使用锯齿状数组,而不是二维数组;如果您需要与 C++ 相同的结果。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/2s05feca.aspx

于 2013-05-22T07:15:35.613 回答