【问题标题】:Iterating through a foreach loop looking for a value [closed]遍历foreach循环以查找值[关闭]
【发布时间】:2014-03-06 13:45:09
【问题描述】:

我正在使用一个列表对象并尝试遍历它以获取当天的总销售额。遍历对象,然后添加总销售额。

//create a method to get daily revenue
public void GetDailyRevenue(PizzaOrder order)  
{
  //for each increments the total daily revenue (sale)
  //then increments the total revenue for each order
  //OrderList always have pizzaorder objects stored var only messing up here
  foreach (PizzaOrder po in OrderList)
  {
     dailyRevenue += order.GetAmountDue(po.NumberOfPizzas, po.NumberOfCokes);
  }
   //check what is the value of dailyRevenue here
}

我需要什么代码来检查每日收入的值?它不是遍历循环。当我输出时,它是说每日总收入为 0。

我是新手,所以我真的需要帮助。谢谢!

【问题讨论】:

  • 在方法中放置一个断点并检查OrderList。该变量来自哪里,参数PizzaOrder order 与该方法有什么关系?
  • 要回答这个问题,您(或其他任何人)需要查看以下内容:dailyRevenue 是什么以及它是如何声明的? GetAmountDue的代码是什么?什么是OrderList,它是如何声明的,调用方法时列表的内容是什么?如果你能识别出这些东西并自己浏览代码,你可能会找到答案。
  • “搜索一下。免费披萨。然后看看它是否从这个驱动器出来。”
  • 欢迎来到 SO。我可以看到你今天问了 3 个关于披萨的问题......你至少应该将其他问题中的正确答案标记为已回答。您应该显示 getAmountDue 函数,以便我们看到错误。祝你功课好运。

标签: c# list foreach


【解决方案1】:

从您的代码中不太清楚为什么您传递了比萨订单而不使用它。 也许您应该将其添加到订单列表中,然后检查您的方法 getamountdue 是否正常工作

例如:

//create a method to get daily revenue
public void GetDailyRevenue(PizzaOrder order)  
{
  //for each increments the total daily revenue (sale)
  //then increments the total revenue for each order
  //OrderList always have pizzaorder objects stored var only messing up here
  OrderList.Add(order);
  foreach (PizzaOrder po in OrderList)
  {
     dailyRevenue += order.GetAmountDue(po.NumberOfPizzas, po.NumberOfCokes);
  }
   //check what is the value of dailyRevenue here
}

【讨论】:

  • 我发现了我的问题!对我来说,这是一个愚蠢的逻辑错误,哈哈。我忘记将我的 PizzaOrder 对象(订单)从 click_event 传递到我的列表。不过感谢您的建议!
猜你喜欢
  • 2022-08-17
  • 1970-01-01
  • 2014-07-13
  • 1970-01-01
  • 2017-05-21
  • 2020-10-13
  • 2022-01-09
  • 1970-01-01
  • 2017-11-16
相关资源
最近更新 更多