List.remove需要外部程序调用 [英] List.remove needs an external programmatic call
问题描述
在我的图书馆管理(学术)项目中,我创建了一个供应商类,我希望能够:
a)添加订单。订单是一个单独的类。
b)删除订单。
c)使用其中一个属性订购订单,订单ID
私人清单<订单> OrdersByVendor = new List< Order>();
public void removeOrder(ulong OrderID,ulong VendorID)
{
// TODO:查找订单并将其删除的逻辑
订单myorder = new Order(1, 1,1,0, 单元,0, EUR, );
OrdersByVendor.Remove(myorder);
}
public void removeOrder(ulong OrderID)
{
// TODO:查找订单并将其删除的逻辑
订单myorder = new Order(1,1, 1,0, 单元,0, EUR, );
OrdersByVendor.Remove(myorder);
}
如何实施?你需要更多信息吗?
到目前为止,我有一些删除对象的东西,但是,我需要将相同的对象传递给供应商和订单class,不是我想要的OrderID和VendorID,因为,我不确定程序员如何通过传递对象本身来识别对象,也许有人可以指导我完成这个复杂的实现,或者我可以更简单地做到这一点吗? br />
public void removeOrder(Order whichOrder)
{
OrdersByVendor.Remove(whichOrder);
}
而不是创建订单的新实例(保证不在列表中,因为它是一个全新的实例)你需要找到实例。
你可以这样做:
订单ord = OrdersByVendor.FirstOrDefault( o = > o.OrderID == OrderId);
检查返回null,如果不是,则将其删除。
Within my library management (academic) project, I have created a Vendor class, which I am hoping will be able to:
a) add an Order. Order is a separate class.
b) remove an Order.
c) find an order using one of its attributes, OrderID
private List<Order> OrdersByVendor = new List<Order>(); public void removeOrder(ulong OrderID, ulong VendorID) { //TODO: logic for finding order and removing it Order myorder = new Order(1,1,1,0,"unit",0,"EUR",""); OrdersByVendor.Remove(myorder); } public void removeOrder(ulong OrderID) { //TODO: logic for finding order and removing it Order myorder = new Order(1,1,1,0,"unit",0,"EUR",""); OrdersByVendor.Remove(myorder); }
How do I implement it? Do you require further information?
So far, I have something of the sort to remove the Object, however, I need to pass the same object to the Vendor and Order class, not the OrderID and the VendorID as I would like, since, I am not sure how a programmer will identify the object by passing the object itself, perhaps someone can guide me through this complex implementation, or can I do it simpler?
public void removeOrder(Order whichOrder)
{
OrdersByVendor.Remove(whichOrder);
}
Instead of creating a new instance of an Order (which is guaranteed not to be in the list as it is a brand new instance) you need to find the instance.
You could do something like:
Order ord = OrdersByVendor.FirstOrDefault(o => o.OrderID == OrderId);
Check the return for null, and remove it if it isn't.
这篇关于List.remove需要外部程序调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!