2010-04-30 100 views
7
  • 我需要知道如何初始化在C#中数组的数组..
  • 我知道,存在多维数组,但我想我不需要在我的情况! 我试过这个代码..但不知道如何用初始值列表初始化..阵列阵列的

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

谢谢

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

感谢

回答

5

据我所知,在这个初始化锯齿形阵列最简单的按键有效的方法是:

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

编辑:

其实这个作品太:

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

第一个不会是'double [] [] x = new [] [] {'? – 2010-04-30 21:41:34

+1

这么多不必要的击键......只要把它写成'double [] [] x = {new [] {1d,2},new [] {3,4.3}};;;) – Guffa 2010-04-30 21:41:52

+1

@Robert Harvey,奇怪但没有。 – 2010-04-30 21:44:24

4

这应该工作:

double[][] a = new double[][] 
{ 
    new double[] {1.0d, 2.0d}, 
    new double[] {3.0d, 4.0d} 
}; 
+0

好像你在示例中的某处丢失了“{”。 – cyberzed 2010-04-30 21:28:55

+0

您在[2] [] – ntziolis 2010-04-30 21:29:22

+0

@ntziolis之后缺少一个** {** **:它位于以下行。 – 2010-04-30 21:31:26

3

当你有一个数组的数组,你必须创建ARRA它里面也可为y对象:

double[][] a = new double[][] { 
    new double[] { 1, 2 }, 
    new double[] { 3, 4 } 
}; 
2
double[][] a = new double[][] { 
    new double[] {1.0, 1.0}, 
    new double[] {1.0, 1.0} 
}; 
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#中完成所有这些工作(结构可能?)