2010-04-30 194 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#中完成所有這些工作(結構可能?)