2017-01-02 86 views
-3

的交錯數組我無法找出如何做到以下數組:C#int和陣列

{ 3, 5, 15, { 4, 75, { 25 } } } 

它必須是int和陣列的組合。 我的函數代碼如下:

p.myMethod(new int[]{ 3, 5, 15, new int[] { 4, 75, new int []{ 25 } } }) 

但它不工作。 我如何獲得預期的結果?

+1

爲什麼 「不它的工作」?你得到的輸出是什麼? – Demitrian

+0

如果您向我們展示myMethod並解釋爲什麼您認爲「它必須是Int和Array的混合」,這將非常有幫助。 –

+0

你所顯示的不是參差不齊的數組。你有一系列嵌套數組。你確定你想要的是那個嗎? –

回答

0

它必須是Int的結構和陣列

有一個陣列的唯一方法包含多種類型的對象的將是與鹼類的類型聲明和初始化陣列所有元素,所以在這種情況下,你將不得不使用object

object[] array = new object[]{ 3, 5, 15, new object[] { 4, 75, new object []{ 25 } } }; 

的問題,這顯然是您稍後需要知道每個數組條目的類型,因爲它們全部被聲明爲object

0

看待此問題:在索引0處,1

{ 3, 5, 15, { 4, 75, { 25 } } } 

項,2是整數。項目索引4是另一種類型,如下所示:

{ 4, 75, { 25 } } 

數組中不能有多種類型。當你創建一個數組時,你必須指定它將包含的類型。

因此,您可以保留所有上述的唯一數組類型將是一個object類型的數組,因爲.NET中的所有內容都來自object

像這樣:

var a = new object[] { 3, 5, 15, new object[] { 4, 75, new[] { 25 } } }; 

或者你的使用ArrayList

var a = new ArrayList { 3, 5, 15, new ArrayList() { 4, 75, new ArrayList() { 25 } } };