无法在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的结构也是相同的。
如果要分配整行,则应将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,您遗漏了一些内容!