我不想要答案,请问如何解决这个问题或一些示例!
要求
创建一个名为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
答案 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,.... };
}
}