多种类型的数组C#(包括其他数组)

时间:2017-08-16 09:56:52

标签: c# arrays types

有没有办法在c#中包含多个类型的数组,包括其他数组? 显然我可以这样做:

object[] x = {1,"G",2.3, 2,'H'};

但不是这样:

object[] x = {1,"G",2.3, 2,'H', {2} };

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:7)

问题是你无法以这种方式初始化内部数组。数组初始化程序只能用于变量或字段初始值设定项。正如您的错误所述:

  

数组初始值设定项只能在变量或字段初始值设定项中使用。尝试使用新的表达式insead

您必须显式初始化嵌套数组。这样做是有效的:

object[] x = { 1, "G", 2.3, 2, 'H', new int[]{ 2 } };
// Or a bit cleaner
object[] x = { 1, "G", 2.3, 2, 'H', new []{ 2 } };

详细了解Array Initializers

如果您定义了二维数组,那么您的语法将起作用:

object[,] x = { {"3"}, { 1 }, { 2 } };

答案 1 :(得分:4)

object[] x = {1,"G",2.3, 2,'H', {2} };错了,你可以使用

object[] x = { 1, "G", 2.3, 2, 'H', new int[]{ 2 } };