使用CodeDom.CodeArrayCreateExpression只能生成一维数组的创建表达式,对于多维数组就不行了。例如:
int[,] counter = new int[3,2]; 查了MSDN上的说明,说是可以通过嵌套来实现多维数组,不过我试了半天,也没有成功。难道MSDN上所说的嵌套是让改用交错数组?
上网查了一下,发现也有人问到这个问题,不过回答是不能生成多维数组的创建表达式。下面是回答,好像是微软的人回答的。
Currently, the CodeDom cannot be used to instantiate multidimensional
arrays. For details, refer to the GeneratorSupport.MultidimensionalArrays
enumeration member in the Visual Studio.NET Documentation. 虽然没有解决问题,但至少知道不能这样做,免得在毫无意义的地方浪费时间。