Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# I';我试图从数据表填充多维数组,但没有成功_C#_Asp.net_Linq_Multidimensional Array - Fatal编程技术网

C# I';我试图从数据表填充多维数组,但没有成功

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

我试图将数据添加到多维数组中,但不断出现错误:“无法将类型“Object[][]”隐式转换为“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
的类型是
对象[]
,因此除非您转换每个元素,否则它不会转换为
字符串[]
。请进一步展开您试图完成的内容。可能有更好的方法可以采取。但是,做你想做的事是可能的,不管这看起来多么不恰当。