как добавить выбранный элемент из списка в список <string>в c # - PullRequest
1 голос
/ 29 июня 2010

как добавить выбранный элемент из списка в список, чтобы получить выбранное имя пользователя

мой код:

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

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

это показывает, что я не могу преобразовать символ в строку .... как добавить элементы в список или массив

Ответы [ 6 ]

7 голосов
/ 29 июня 2010

Вам нужно использовать свойство SelectedItems вместо SelectedItem:

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

РЕДАКТИРОВАТЬ: я только что заметил, что это помечено как asp.net - я не использовал веб-формы, но смотрю надокументация кажется это должно работать:

List<string> listItems = listBox.GetSelectedIndices()
    .Select(idx => listBox.Items[idx])
    .Cast<string>()
    .ToList();
2 голосов
/ 29 июня 2010

Замечу, что вы используете ASP.

Для стандартного C # будет работать следующее:

    List<string> stringList = new List<string>();
    foreach (string str in listBox1.SelectedItems)
    {
        stringList.Add(str);
    }
1 голос
/ 29 июня 2010

Если есть только один выбранный элемент:

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);
}
0 голосов
/ 14 января 2017

Вы можете сделать это за одну операцию:

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

Это всегда будет работать и для пользовательских объектов:

IEnumerable<CustomObject> groupList = groupListBox.SelectedItems.Cast<CustomObject>();
0 голосов
/ 29 июня 2010

Если вы используете кнопку для добавления выбранного элемента в список строк, просто сделайте это.

    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);
        }
    }
0 голосов
/ 29 июня 2010

Вы также можете сделать это

 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);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...