2017-01-02 94 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 } } };