有没有办法在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 cleaner object[] x = { 1,new []{ 2 } };
如果您定义了二维数组,那么您的语法将起作用:
object[,] x = { {"3"},{ 1 },{ 2 } };