C# 无法在C中按行访问2d字符串数组#
我将数据转换成C#中的2d字符串。 定义为:C# 无法在C中按行访问2d字符串数组#,c#,datarow,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()
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);
}
它给出的错误是[]内的索引数错误,预计为2
我知道它需要2个索引,但我希望字符串数组的整行都填充在DataRow中
数据行和字符串数组的结构也是相同的。这是因为
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);
}
for(int i=0;i
请注意,您缺少了一些内容 如果要分配整行,则应将
strValueBasic
定义为string[][]
。不是二维数组,而是数组的数组。这也改变了初始化,每个数组可以有不同的大小,所以您必须分别创建每个数组 String[]str=新字符串[5]{“a”、“b”、“c”};drRow.ItemArray=str;嘿,这有用。因此,对于数组或数组drRow.ItemArray=strValueBasic[i];这也应该在一个循环中工作。
for (int i = 0; i < GridView1.Rows.Count; i++)
{
DataRow drRow = dtNew.NewRow();
drRow.ItemArray = strValueBasic[i, iSomeOtherValue];
dtNew.Rows.Add(drRow);
}