キースが指摘しているように、改名は良いスタートです。あなたが本当にしたいすべてのオブジェクトのリストのリストを表すオブジェクトである場合、あなたは、単にジェネリックをネストすることによって、新たなデータ構造を作成せずにそれを達成することができます
:
public List<List<Customer>> CustomerLists;
前記、あなたがしているようです注文システムをモデル化しようとしています。このような何かはトリックん:
class Customer
{
public Customer(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
public string FirstName { get; }
public string LastName { get; }
}
class Vendor
{
public Vendor(string name, IEnumerable<Product> products)
{
Name = name;
Products = new HashSet<Product>(products);
}
public bool HasStock(Product product, double quantity)
{
// determine if product is currently in stock...
}
public string Name { get; }
public HashSet<Product> Products { get; }
}
class Product
{
// ... common product data.
}
class Order
{
public Order(
DateTime createDate, Customer customer,
Vendor vendor, Product product, double quantity)
{
CreateDate = createDate;
Customer = customer;
Vendor = vendor;
Product = product;
Quantity = quantity;
}
public DateTime CreateDate { get; }
public Customer Customer { get; }
public Vendor Vendor { get; }
public Product Product { get; }
public double Quantity { get; }
}
要件を知らなくてもデザイン性を判断するのは難しいです。このデータ構造によって解決されている問題は何ですか? –