繁体   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