7
  • 我需要知道如何在 C# 中初始化数组数组。
  • 我知道存在多维数组,但我认为我不需要它!我试过这段代码..但不知道如何使用初始化列表进行初始化..

    double[][] a=new double[2][];// ={{1,2},{3,4}};

谢谢

PS:如果你想知道我为什么使用它:我需要数据结构,当我调用 obj[0] 时它会返回一个数组。我知道这很奇怪。

谢谢

4

5 回答 5

5

Afaik,最简单和击键有效的方法是初始化一个锯齿状数组是:

double[][] x = new []{new[]{1d, 2d}, new[]{3d, 4.3d}};

编辑:

实际上这也有效:

double[][] x = {new[]{1d, 2d}, new[]{3d, 4.3d}};
于 2010-04-30T21:34:38.800 回答
4

这应该有效:

double[][] a = new double[][] 
{ 
    new double[] {1.0d, 2.0d},
    new double[] {3.0d, 4.0d}
};
于 2010-04-30T21:27:34.347 回答
3

由于您有一个数组数组,因此您还必须在其中创建数组对象:

double[][] a = new double[][] {
  new double[] { 1, 2 },
  new double[] { 3, 4 }
};
于 2010-04-30T21:29:53.023 回答
2
double[][] a = new double[][] {
     new double[] {1.0, 1.0}, 
     new double[] {1.0, 1.0}
};
于 2010-04-30T21:30:20.997 回答
0

我不知道我是否正确,但我一直在 VB.net 中使用所谓的结构,并且想知道如何在 C# 中看到这个概念。它以这种方式与这个问题相关:

' The declaration part
Public Structure driveInfo
    Public type As String
    Public size As Long
End Structure
Public Structure systemInfo
    Public cPU As String
    Public memory As Long
    Public diskDrives() As driveInfo
    Public purchaseDate As Date
End Structure

' this is the implementation part 
Dim allSystems(100) As systemInfo
ReDim allSystems(1).diskDrives(3)
allSystems(1).diskDrives(0).type = "Floppy"

看看这一切是多么优雅,并且比锯齿状数组更容易访问。如何在 C# 中完成所有这些工作(可能是结构?)

于 2010-04-30T22:45:39.833 回答