Waqar (Vicky) Ответов: 2

Как написать эффективный алгоритм установки флага на коллекцию элементов


Допустим, есть коллекция предметов
Когда пункт 1 добавляется с типом "бакалея" более 1 раза, то мне нужно показать всплывающий значок на основе некоторого логического флага "isShowIcon = true/false".

когда пункт 1 добавлен с типом "продуктовый магазин" (нет всплывающего значка информации)
когда пункт 2 Добавлен с типом "продуктовый магазин" (показать всплывающий значок информации)
когда пункт 3 добавлен с типом "косметика" (нет всплывающего значка информации)
когда пункт 4 добавлен с типом "продуктовый магазин" (показать всплывающий значок информации)

Затем исключить пункт 1
пункт 2 (нет всплывающего значка информации)
пункт 4 (показать всплывающий значок информации)

Затем исключить пункт 2
пункт 4 (нет всплывающего значка информации)

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

Я попробовал несколько логик, но не смог выполнить это требование.

2 Ответов

Рейтинг:
2

#realJSOP

Прежде чем добавить новый элемент, сделайте что-то вроде этого:


var found = mycollection.FirstOrDefault(x=>x.name == text);
if (found == null)
{
    mycollection.Add(text);
}
else
{
    MessageBox.Show("Duplicate names are not allowed.");
}


Рейтинг:
2

Eric Lynch

Один System.Collections.Generic.HashSet<T> это типично для обнаружения дубликатов. В основном, вы делаете следующее...

string text = "Some Text";

var mySet = new HashSet<string>();
if (mySet.Contains(text))
  Console.WriteLine("Duplicate!");
else
  mySet.Add(text);