【问题标题】:C# - I need to loop through a list and find variables with matching values [closed]C# - 我需要遍历一个列表并找到具有匹配值的变量[关闭]
【发布时间】:2017-08-02 03:40:11
【问题描述】:

这里是新手,所以请耐心等待!

我有一份大部分型号不同的飞机清单。但是,我需要能够找到相同模型的模型并将它们的值相加。这是我正在尝试做的一个示例:

飞机列表:

平面 1

  1. 型号:波音777

  2. 总座位数:200

  3. 需要的服务员:4

平面 2

  1. 型号:波音727

  2. 总座位数:150

  3. 需要的服务员:3

平面 3

  1. 型号:波音777

  2. 总座位数:200

  3. 需要的服务员:4

所以,我想遍历这个飞机列表,而不是输出两架波音 777,我希望它输出 1 架波音777,然后合计所需的座位和乘务员。

输出将是:

飞机列表:

  1. 型号:波音777

  2. 总座位数:400

  3. 需要的服务员:8

    1. 型号:波音727

    2. 总座位数:150

    3. 需要的服务员:3

这有意义吗?

任何帮助将不胜感激

【问题讨论】:

  • Stack Overflow 不是代码编写服务,希望您尝试自己编写代码。我建议您对您的问题进行一些研究(也许尝试页面顶部的搜索框)并尝试自己编写一些代码。如果/当您遇到任何代码问题时,请再次询问并解释您尝试过的内容,以及为什么它对您不起作用。请参阅 How to Ask 以获取有关提出好问题的帮助以及 Minimum, complete, verifiable example

标签: c# asp.net-mvc loops for-loop


【解决方案1】:

你可以使用Enumerable.GroupBy():

var groups = planes.GroupBy(p => p.Model);

foreach (var group in groups)
{
    Console.WriteLine("1. Model: {0}", group.Key);
    Console.WriteLine("2. Total Seats: {0}", group.Sum(p => p.Seats));
    Console.WriteLine("3. Attendants: {0}", group.Sum(p => p.Attendants));
}

【讨论】:

  • @JeroenvanLangen 谢谢。更新了我的答案。
  • 非常感谢。这完全符合我的需要!
猜你喜欢
  • 1970-01-01
  • 2021-03-23
  • 2020-07-02
  • 2015-09-12
  • 1970-01-01
  • 2021-06-07
  • 2021-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多