-2

我需要制作这个仅包含唯一值的杂志列表,并使用字典和多吨模式来完成。
列表不能有两个名称和价格都相同的对象。
我在 c# 中只找到了一个 multiton 模式的例子,它并没有解决我的问题。

这是我已经拥有的代码的简化版本,但这些是该问题中最重要的事情。

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);
    }

}
4

2 回答 2

0

为什么不把杂志做成一本字典,关键是产品名称。

public class Magazine : Dictionary<string, Product>
{
   public void Add(Product p)
   {
      base[p.name] = p;
   }
}
于 2015-01-12T02:36:45.433 回答
0

您可以使用的是一个自定义类,其中包含一个string标识符和一个hashset. 默认情况下,哈希集将确保唯一性。

于 2015-01-12T02:37:48.080 回答