1

我的网页中有一个 ListBox(我使用的是 ASP.NET Web Form 4),当我想将这些 ListBox 的项目转换为字符串数组时它不起作用,我使用以下代码:

protected void btnSend_Click(object sender, EventArgs e)
{
    String[] a= ListBox1.Items.Cast<String>().ToArray();
}

当我通过 Chrome 开发工具(在控制台选项卡中)单击btnSend并检查它时,我收到如下错误:

无法将“System.Web.UI.WebControls.ListItem”类型的对象转换为“System.String”类型

为什么会发生这种情况,我该如何解决?

4

2 回答 2

4

ListBox.Items集合包含ListItems

var texts = ListBox1.Items
    .Cast<ListItem>()
    .Select(item => item.Text)
    .ToArray();
于 2012-10-07T12:07:01.207 回答
1

你可以试试

ListBox1.Items.OfType<string>().ToArray();
于 2012-10-07T11:51:47.063 回答