List.remove需要外部程序调用 [英] List.remove needs an external programmatic call

查看:96
本文介绍了List.remove需要外部程序调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的图书馆管理(学术)项目中,我创建了一个供应商类,我希望能够:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆