【发布时间】:2017-09-27 21:38:43
【问题描述】:
我正在尝试将数据添加到多维数组,但不断收到错误消息:“无法将类型 'Object[][]' 隐式转换为 'string[,]'”。不知道如何解决这个问题。我在 SO 上找到了这个,但他们的解决方案对我没有帮助:Datatable to Multidimensional Array
任何帮助将不胜感激。
clDataTable = i_dbExec.ExecSelect(i_strQuery);
var tableEnumerable = clDataTable.AsEnumerable().Select(row =>
row.ItemArray).ToArray();
string[,] o_astrLocationCodes = tableEnumerable.ToArray(); <-- Error here
【问题讨论】:
-
为什么不使用
var o_astrLocationCodes并对其进行迭代? -
1.
tableEnumerable应该已经是Array- 在初始化它的表达式上有ToArray()。 2. 多维数组除了在某些特定(通常是数学)情况下没有用处 - 为什么你认为它比你已经拥有的object[][]Array更可取? 3. 显然.ItemArray的类型是object[],所以它不会转换为string[],除非你转换每个元素。 -
Op,进一步扩展您要完成的工作。可能有更好的方法可以采取。但是,你可以做你想做的事,不管它看起来多么不合适。
标签: c# asp.net linq multidimensional-array