C# · 12月 26, 2021

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

有没有办法在c#中包含多个类型的数组,包括其他数组?
显然我可以这样做: object[] x = {1,”G”,2.3,2,’H’};

但不是这个:

object[] x = {1,’H’,{2} };

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

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

Array initializer can only be used in a variable or field initializer. Try using a new expression insead

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

object[] x = { 1,new int[]{ 2 } };// Or a bit cleanerobject[] x = { 1,new []{ 2 } };

阅读更多Array Initializers

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

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