[英]how to add the selected item from a listbox to list <string> in c#
如何從列表框中添加所選項目到列表中以獲取所選用戶名
我的代碼:
List<String> lstitems = new List<String>();
foreach (string str in lstUserName.SelectedItem.Text)
{
lstitems.Add(str);
}
它告訴我錯誤提示無法將char轉換為字符串....如何將項目添加到列表或數組
您需要使用SelectedItems
屬性而不是SelectedItem
:
foreach (string str in lstUserName.SelectedItems)
{
lstitems.Add(str);
}
編輯:我只是注意到這被標記為asp.net-我沒有使用過太多Webforms,但是在文檔中看來這應該可行:
List<string> listItems = listBox.GetSelectedIndices()
.Select(idx => listBox.Items[idx])
.Cast<string>()
.ToList();
我注意到您正在使用ASP。
對於標准C#,以下方法將起作用:
List<string> stringList = new List<string>();
foreach (string str in listBox1.SelectedItems)
{
stringList.Add(str);
}
如果只有一項被選中:
List<String> lstitems = new List<String>();
lstitems.Add(lstUsername.SelectedItem.Value);
由於System.Web.UI.WebControls.ListBox
不支持SelectedItems,因此這是一種用於獲取多個選擇的方法:
// Retrieve the value, since that's usually what's important
var lstitems = lstUsername.GetSelectedIndices()
.Select(i => lstUsername.Items[i].Value)
.ToList();
或不使用LINQ(如果您仍使用2.0):
List<string> lstitems = new List<string():
foreach(int i in lstUsername.GetSelectedIndices())
{
lstitems.Add(lstUsername[i].Value);
}
您也可以這樣做
List<String> lstitems = new List<String>();
for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected)
lstitems.Add(ListBox1.Items[i].Value);
}
如果您使用按鈕在字符串列表中添加選定的“項目”,請執行此操作。
private void button1_Click(object sender, EventArgs e)
{
List<string> selectedItems = new List<string>();
string item = listBox1.SelectedItem.ToString();
if (!selectedItems.Contains(item))
{
selectedItems.Add(item);
}
}
您可以通過一項操作來執行此操作:
IEnumerable<string> groupList = groupsListBox.SelectedItems.Cast<string>();
它也將始終適用於自定義對象:
IEnumerable<CustomObject> groupList = groupListBox.SelectedItems.Cast<CustomObject>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.