有没有办法在c#中包含多个类型的数组,包括其他数组?显然我可以这样做:
object[] x = {1,"G",2.3, 2,'H'};
Run Code Online (Sandbox Code Playgroud)
但不是这个:
object[] x = {1,"G",2.3, 2,'H', {2} };
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
问题是你无法以这种方式初始化内部数组.数组初始化程序只能用于变量或字段初始值设定项.正如您的错误所述:
数组初始值设定项只能在变量或字段初始值设定项中使用.尝试使用新的表达式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 } };
Run Code Online (Sandbox Code Playgroud)
阅读有关Array Initializers的更多信息
如果您定义了二维数组,那么您的语法将起作用:
object[,] x = { {"3"}, { 1 }, { 2 } };
Run Code Online (Sandbox Code Playgroud)