C# I';我试图从数据表填充多维数组,但没有成功
我试图将数据添加到多维数组中,但不断出现错误:“无法将类型“Object[][]”隐式转换为“string[,]”。不知道如何解决这个问题。我发现这一点,但他们的解决方案对我没有帮助: 任何帮助都将不胜感激C# I';我试图从数据表填充多维数组,但没有成功,c#,asp.net,linq,multidimensional-array,C#,Asp.net,Linq,Multidimensional Array,我试图将数据添加到多维数组中,但不断出现错误:“无法将类型“Object[][]”隐式转换为“string[,]”。不知道如何解决这个问题。我发现这一点,但他们的解决方案对我没有帮助: 任何帮助都将不胜感激 clDataTable = i_dbExec.ExecSelect(i_strQuery); var tableEnumerable = clDataTable.AsEnumerable().Select(row => row.ItemArray).ToArray(); string
clDataTable = i_dbExec.ExecSelect(i_strQuery);
var tableEnumerable = clDataTable.AsEnumerable().Select(row =>
row.ItemArray).ToArray();
string[,] o_astrLocationCodes = tableEnumerable.ToArray(); <-- Error here
clDataTable=i_dbExec.ExecSelect(i_strQuery);
var tableEnumerable=clDataTable.AsEnumerable().选择(行=>
row.ItemArray).ToArray();
字符串[,]o_astrocationCodes=tableEnumerable.ToArray() 这很难看,我不知道你为什么要这样做,但我不判断
string[][] stringArray =
clDataTable.AsEnumerable()
.Select(
row => row.ItemArray
.Select(
i=>i.ToString()
).ToArray()
).ToArray();
谢谢@Cory和@NetMage的回答。我认为我只能提供一个多维数组的现有函数(我不允许编辑),因此我提出了这个问题。但是,我设法找到了另一个不需要阵列的解决方法。我将把科里的回答标记为一个解决方案,因为尽管他有所保留,我本可以使用它……:) 为什么不使用var o_astrocationcodes
并进行迭代呢tableEnumerable
应该已经是一个Array
-在初始化它的表达式上有ToArray()
。2.多维数组除了在某些特定的(通常是数学的)情况下没有用处-为什么您认为它比您已有的对象[][]
数组
更可取?3.显然,.ItemArray
的类型是对象[]
,因此除非您转换每个元素,否则它不会转换为字符串[]
。请进一步展开您试图完成的内容。可能有更好的方法可以采取。但是,做你想做的事是可能的,不管这看起来多么不恰当。