Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从字符串隐式转换为字符串[]_C#_Asp.net - Fatal编程技术网

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();