无法在C#中以行方式访问2d String Array

时间:2012-02-20 06:51:08

标签: c# datarow

我将数据转换为C#中的2d字符串。 定义为::

string[,] strValueBasic = new string[GridView1.Rows.Count,49];

现在我想将数据带入DataRows并将这些行添加到DataTable中。

     for (int i = 0; i < GridView1.Rows.Count; i++)
                {
                    DataRow drRow = dtNew.NewRow();
                    drRow.ItemArray = strValueBasic[i];
                    dtNew.Rows.Add(drRow);
                }

但是我无法在步骤

中访问这个2d String数组
                    drRow.ItemArray = strValueBasic[i];

由于[]中的索引数目错误,预期为2,这是错误的。

我知道它需要2个索引,但是我希望在DataRow中填充该字符串数组的整行。

DataRow和String Array的结构也是一样的。

2 个答案:

答案 0 :(得分:1)

如果您要分配整行,则strValueBasic应定义为string[][]。不是2D数组而是数组数组。这也改变了初始化,每个数组可以有不同的大小,所以你必须分别创建每个。 http://msdn.microsoft.com/en-us/library/2s05feca.aspx

答案 1 :(得分:0)

多数民众赞成因为strValueBasic是一个二维数组而你正试图访问它,因为它是一维数组。

 for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                DataRow drRow = dtNew.NewRow();
                drRow.ItemArray = strValueBasic[i, iSomeOtherValue];
                dtNew.Rows.Add(drRow);
            }

注意 iSomeOtherValue ,你错过了什么!