无法在C#中按行访问2d字符串数组

本文关键字:访问 2d 字符串 数组 | 更新日期: 2023-09-27 18:25:05

我将数据放入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字符串数组

                    drRow.ItemArray = strValueBasic[i];

它给出的错误是[]内的索引号错误,应为2。

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

DataRow和String Array的结构也是相同的。

无法在C#中按行访问2d字符串数组

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

这是因为strValueBasic是一个2D数组,而您正试图访问它,因为它是一个1D数组。

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

请注意iSomeOtherValue,您遗漏了一些内容!