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

Luc*_*sGH 6 c# arrays types

有没有办法在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)

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

Gil*_*een 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 } };
Run Code Online (Sandbox Code Playgroud)

阅读有关Array Initializers的更多信息

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

object[,] x = { {"3"}, { 1 }, { 2 } };
Run Code Online (Sandbox Code Playgroud)