Другим подходом может быть вставка всех значений в List<string>
, а затем добавление элементов только после цикла, используя .Distinct()
, чтобы получить только уникальные значения:
List<string> names = new List<string>();
while (reader.Read())
names.Add(reader["Name"].ToString())
names.Distinct().ToList().ForEach(name => lst_Viewers.Items.Add(name));
Таким образом, вам не нужно искать весь DropDown в каждой итерации - более элегантно (на мой взгляд) и более эффективно.