Member 10410972 Ответов: 2

Как предотвратить дублирование элементов в listbox1? С#


This code works well thanks to you.
How do I prevent duplicate items in listBox1?
What should I change the code below?


listBox1.Items.AddRange(textBox2.Lines.Select(l => textBox1.Text + " " + l).ToArray());


Что я уже пробовал:

Что-то вроде:
список listbox1.Предметы.AddRange(поле textbox2.Линии.Выберите(л => в текстовое поле textbox1.Текст + "" + л) &&усилителя; !список listbox1.Предметы.Содержит(элемент textbox1.Текст + "" + л)).Метод toArray());

Richard MacCutchan

У вас уже есть предложение в вашем первоначальном посте.

2 Ответов

Рейтинг:
18

Karthik_Mahalingam

попробовать это

foreach (var item in textBox2.Lines.Select(l => textBox1.Text + " " + l).ToArray())
          {
              if (!listBox1.Items.Contains(item))
                  listBox1.Items.Add(item);
          }


Member 10410972

Большое спасибо. Отлично работает!

Karthik_Mahalingam

добро пожаловать :)

Рейтинг:
1

OriginalGriff

Пока код не будет работать, это лучше, чтобы удалить повторяющиеся значения из входного сигнала вместо:

IEnumerable<string> lines = textBox2.Lines.Distinct();
listBox1.Items.AddRange(lines.Select(l => textBox1.Text + " " + l).ToArray());


Member 10410972

Большое спасибо.