簡體   English   中英

C# int 和array 的鋸齒狀數組

[英]C# jagged array of int and array

我不知道如何執行以下數組:

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

它必須是 Int 和 Array 的混合。 我的函數代碼如下:

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

但它不起作用。 我怎樣才能得到我的預期結果?

它必須是 Int 和 Array 的混合

讓數組包含多種類型的對象的唯一方法是使用所有元素的基類類型聲明和初始化數組,因此在這種情況下,您必須使用object

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

這樣做的問題顯然是您在稍后訪問它們時需要知道每個數組條目的類型,因為它們都被聲明為object

看這個:

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

索引 0、1、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 } } };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM