如何创建一个循环,循环遍历C#中的多个List

时间:2018-07-17 08:39:08

标签: c# list function loops

我不想要答案,请问如何解决这个问题或一些示例!

要求

  

创建一个名为CombineTheLists的自定义方法,并使用2个列表   在函数调用中作为参数创建。

     

i。此方法应具有2个参数并捕获传入的列表。

     

ii。它不应返回任何内容。

     

iii。在函数内部,创建一个循环遍历两个循环的循环   同时列出。

     

iv。每次循环运行时,从第一个列表中拉出一个项目,然后   匹配第二个列表中的价格,并将它们组合成一个文本字符串   使用“ X的价格为$ Y”的格式。其中X是要购买的商品   Y是物料成本。确保使用$并将其格式设置为2   小数位

我的当前代码

     a
0  NaN
1  1.0
2  2.0
3  3.0
4  4.0
5  5.0
6  NaN
7  NaN

3 个答案:

答案 0 :(得分:4)

您似乎正在寻找Zip

var data = items
  .Zip(prices, (item, price) => new {
     item,
     price });

...

foreach (var value in data) {
  // value.item  for item
  // value.price for price
}

编辑::如果循环较旧,for

namespace MySolution {
  class Program {
    static void Main(string[] args) {
      ...

      CombineTheLists(items, prices);
    }

    public static void CombineTheLists(List<string> items, List<double> prices) {
      for (int i = 0; i < Math.Min(items.Count, prices.Count); ++i)
        Console.WriteLine($"item {items[i]} costs {prices[i]:f2}"); // f2 - format string
    }
  }
}

答案 1 :(得分:2)

您处在正确的轨道(其中之一)上,但是首先,您应该更改方法声明以接受两个列表,而不是字符串和double:

https://databasename:password@hostname

您已经用循环变量public static void CombineTheLists(List<string> items, List<double> prices) { for (int i = 0; i < items.Count; i++) { } } 编写了一个for循环。如您所知,i将增加每次迭代。这意味着i将是该迭代中的相应项目,而items[i]将是相应的价格。例如,下面的代码可以在一行上打印商品和价格:

prices[i]

答案 2 :(得分:0)

为什么不创建具有两个属性和一个对象列表的对象?

 class item {
        String name;
        String price;

        /*getter and setters*/
        }
class main {
     public static void CombineTheLists()
    {
        List<item> items = new List<item>() { item1, item2, item3,.... };
    }
}