Как составить список с уникальными значениями со словарем (многотонный шаблон)
Мне нужно сделать этот magazine_list, который содержит только уникальные значения, и сделать это с помощью словаря и многотонного шаблона.
Список не может иметь два объекта с одинаковым именем и ценой.
Я нашел только один пример многотонного паттерна в C#, и он не решил мою проблему.
Это упрощенная версия кода, которая у меня уже есть, но это самые важные вещи этой проблемы.
public class Product
{
string name;
int price;
}
public class Coffee : Product
{
public Coffee(string _name, int _price)
{
name = _name;
price = _price;
}
}
public class Tea : Product
{
public Tea(string _name, int _price)
{
name = _name;
price = _price;
}
}
public class Magazine
{
List<Product> magazine_list;
public Magazine()
{
List<Product> magazine_list = new List<Product>();
}
public void add(Product p)
{
magazine_list.Add(p);
}
}
2 ответа
Почему бы не сделать журнал словарем, ключом которого будет название продукта.
public class Magazine : Dictionary<string, Product>
{
public void Add(Product p)
{
base[p.name] = p;
}
}
То, что вы могли бы использовать, это самоопределенный класс, который содержит string
идентификатор и hashset
, Хешсет по умолчанию обеспечит уникальность.