我需要使这个只包含唯一值的magazine_list并使用字典和多重模式来实现。
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);
}
}
答案 0 :(得分:0)
为什么不让杂志成为字典,关键是产品名称。
public class Magazine : Dictionary<string, Product>
{
public void Add(Product p)
{
base[p.name] = p;
}
}
答案 1 :(得分:0)
您可以使用的是包含string
标识符和hashset
的自定义类。默认情况下,hashset将确保唯一性。