有没有办法在c#中包含多个类型的数组,包括其他数组? 显然我可以这样做:
object[] x = {1,"G",2.3, 2,'H'};
但不是这样:
object[] x = {1,"G",2.3, 2,'H', {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 } };
如果您定义了二维数组,那么您的语法将起作用:
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 } };