2013-12-10 144 views
2

我有一個客戶列表,每個客戶可以有多個訂單,但是我需要刪除客戶的一些訂單。如果我循環訪問列表,我可以找到需要刪除的訂單,但是如何實際刪除它們?從列表中刪除對象

List<Customers> 

public class Customers 
{ 
    public int CustomerId { get; set; } 
    public string NameFirst { get; set; } 
    public Order[] Orders { get; set; } 
} 

public class Orders 
{ 
    public string OrderMode { get; set; } 
    public int Id { get; set; } 
} 
+1

只是一個語義注​​釋:將您的類重命名爲Customer。一個類表示單個對象,應該有一個單數名詞。除集合類(「客戶」將代表一組客戶)。您的'訂單'級也一樣。 – Abbas

回答

4

您應該使用List<Order>而不是Order[]陣列:

public class Customers 
{ 
    public int CustomerId { get; set; } 
    public string NameFirst { get; set; } 
    public List<Order> Orders { get; set; } 
} 

然後執行以下操作:

customer.Orders.RemoveAll(x => x.OrderMode == "SomeOrder"); 
0

使用列表集合,而不是陣列(您不能刪除項array)

 YouList.Remove (Orders); 

或 YouList.RemoveAt(索引

+0

數組沒有'Remove',也沒有'RemoveAt'方法。 – Tobberoth

+0

是的,但我忘了我的信息 – Jade

+0

Downvote刪除,但RononDex已經發布此解決方案。 – Tobberoth