如何将列表框中的选定项添加到c#</string>中列出<string>

时间:2010-06-29 12:08:59

标签: c# asp.net arrays listbox

如何将列表框中的所选项目添加到列表中以获取所选的用户名

我的代码:

        List<String> lstitems = new List<String>();

        foreach (string str in lstUserName.SelectedItem.Text)
        {
            lstitems.Add(str);
        }

它显示错误,指出无法将char转换为字符串....如何将项目添加到列表或数组

6 个答案:

答案 0 :(得分:7)

您需要使用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();

答案 1 :(得分:2)

我注意到你正在使用ASP。

对于标准C#,以下方法可行:

    List<string> stringList = new List<string>();
    foreach (string str in listBox1.SelectedItems)
    {
        stringList.Add(str);
    }

答案 2 :(得分:1)

如果只有一个选定项目:

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

答案 3 :(得分:0)

你也可以这样做

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

答案 4 :(得分:0)

如果您使用按钮在字符串列表中添加所选的“项目”,请执行此操作。

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

答案 5 :(得分:0)

您可以在一个操作中执行此操作:

IEnumerable<string> groupList = groupsListBox.SelectedItems.Cast<string>();

它也将始终适用于自定义对象:

IEnumerable<CustomObject> groupList = groupListBox.SelectedItems.Cast<CustomObject>();