1

Webページにリストボックスがあり(ASP.NET Webフォーム4を使用しています)、これらのリストボックスのアイテムを文字列配列に変換したい場合は機能しません。次のコードを使用します。

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

Chrome Dev Tools([コンソール]タブ)をクリックし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 に答える