簡體   English   中英

如何將列表框中的選定項目添加到列表 <string> 在C#中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM