C# 无法从字符串隐式转换为字符串[]
我试图将字符串数组中的值复制到C# 无法从字符串隐式转换为字符串[],c#,asp.net,C#,Asp.net,我试图将字符串数组中的值复制到数据行中,它抛出一个错误: 无法从字符串隐式转换为字符串[] 守则: DataRow dr = null; ddcontent[i] = strfinalstartweek[i] + " - " + strfinalendweek[i] + "-- $" + openingbid; // ddcontent is the string array for (int i = 0; i < 12; i++) { dr.ItemArray = ddconte
数据行中,它抛出一个错误:
无法从字符串隐式转换为字符串[]
守则:
DataRow dr = null;
ddcontent[i] = strfinalstartweek[i] + " - " + strfinalendweek[i] + "-- $" + openingbid;
// ddcontent is the string array
for (int i = 0; i < 12; i++)
{
dr.ItemArray = ddcontent[i];
ListItem item = new ListItem();
item.Text = NullHandler.NullHandlerForString(dr["OpeningBid"], string.Empty);
ddweek.Items.Add(item);
}
DataRow dr=null;
ddcontent[i]=strfinalstartweek[i]+“-”+strfinalendweek[i]+“--$”+openingbid;
//ddcontent是字符串数组
对于(int i=0;i<12;i++)
{
dr.ItemArray=ddcontent[i];
ListItem=新建ListItem();
item.Text=NullHandler.NullHandlerForString(dr[“OpeningBid”],string.Empty);
ddweek.Items.Add(item);
}
你们认为这里有什么不对。。尝试了很多方法
提前谢谢
dr.ItemArray = ddcontent[i];
ItemArray
属于object[]
类型,因此该行无法工作。字符串
无法转换为对象
的数组。但是,根据错误的文本,我想知道代码中是否还有其他类型不匹配。您能显示哪一行包含错误吗?ddcontent是字符串数组(数据行)吗?如果要将每一行切分为一个数据行,则必须根据提供的信息使用,因为ddcontent[i]似乎是一个字符串,您试图将其分配给一个属性-ItemArray-该属性需要一个数组。要解决此问题,您需要:
将此行移到循环之外,并将ddcontent数组直接分配给ItemArray。但请注意,ddcontent必须具有与DataRow中的列相同的项数
dr.ItemArray = ddcontent;
for (int i = 0; i < 12; i++)
{
ListItem item = new ListItem();
item.Text = NullHandler.NullHandlerForString(dr["OpeningBid"], string.Empty);
ddweek.Items.Add(item);
}
其中,dt
是您的数据表。需要更多的上下文-什么类型是ddcontent
?什么类型是dr
?异常通常包含对源代码中导致问题的行的引用。如果你能突出显示产生错误的那一行,那将非常有帮助。你在哪一行得到错误。stackTrace会有帮助。你能为不同的项目添加类型吗?在错误消息中,我认为dr的类型为String[][]。我猜ddcontent[I]正在返回一个字符串,并试图为dr.ItemArray赋值,这是一个字符串数组。但是上下文不够。dr.ItemArray=ddcontent[i];此行包含错误。感谢you@Ram:您可能需要做的是:dr.ItemArray[i]=ddcontent[i]代码>。很抱歉,David,我正在尝试将字符串数组值保存到datarow中。然后,在下拉列表中显示它。这就是目的。当我将其更改为dr.ItemArray[i]=ddcontent[i];没有错误,但有一个异常“对象引用未设置为对象的实例”。@Ram:Oops,我忽略了DataRow
在这里为空的事实。它没有初始化,因此没有ItemArray
属性。为什么要使用DataRow
?它在这里声明,您尝试在这里填充它,但它的预期用途是什么?您要填充的数据结构是什么?为什么不直接从字符串数组创建ListItems?@David:ListItems?我应该看到的新概念。。我是asp.net新手。学习它。。我将查看列表项的作用。
for (int i = 0; i < 12; i++)
{
dr.Item[i] = ddcontent[i];
ListItem item = new ListItem();
item.Text = NullHandler.NullHandlerForString(dr["OpeningBid"], string.Empty);
ddweek.Items.Add(item);
}
dr = dt.NewRow();