我将数据转换为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的结构也是一样的。
答案 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 ,你错过了什么!