C# 使用foreach在两个数组上循环

C# 使用foreach在两个数组上循环,c#,arrays,C#,Arrays,每当我按下“全部显示”按钮时,我想显示所有的“Artikelen”(文章)和“PrijsArtikel”(文章价格) 显示三个随机项目及其关联价格的代码起作用,但现在我希望它以另一种方法显示所有数组 我必须使用foreach() string[]Artikelen={“schoen”、“muts”、“sjaal”、“rok”、“jurk”、“Gouden Horloge”, “Gouden Ketting”、“Handschonen”、“Sokken”、“Beenwarmers”}; doubl

每当我按下“全部显示”按钮时,我想显示所有的“Artikelen”(文章)和“PrijsArtikel”(文章价格)

显示三个随机项目及其关联价格的代码起作用,但现在我希望它以另一种方法显示所有数组

我必须使用
foreach()

string[]Artikelen={“schoen”、“muts”、“sjaal”、“rok”、“jurk”、“Gouden Horloge”,
“Gouden Ketting”、“Handschonen”、“Sokken”、“Beenwarmers”};
double[]PrijsArtikel={89.80,17.99,10.00,45.00,780.00,7800.00,1000,15.00,2.00,10.00};
私有无效BTN随机单击(对象发送者,路由目标e)
{   
txtOplossing.Text=“”;
字符串温度;
temp=string.Empty;
随机rnd=新随机();
int WillekeurigGetal=0;
对于(int i=0;i<3;i++)
{
Willekuriggetal=rnd.Next(0,10);
温度=(Artikelen[Willekuriggetal])+
(“\t=\t”)+(PrijsArtikel[Willekuriggetal])+(“欧元”);
txtOplossing.Text+=temp.ToString();
}
}
私有无效btn\u所有项目\u单击(对象发送者,路由目标)
{
}

以下内容使用foreach,包括artikelen和prijsArtikel的所有内容

var outputStr = "";
foreach (var article in artikelen)
    outputStr += article + ", ";

foreach (var price in prijsArtikel)
   outputStr += price + ", ";
但我认为您需要的是以下内容:

var outputStr = "";
for (int i = 0; i < Math.Min(artikelen.Length, prijsArtikel.Length); i++)
    outputStr += artikelen[i] + " " + prijsArtikel[i] + "\n";
var outputStr=”“;
对于(int i=0;i
您不妨创建一个适当的数据结构

public class  ArticleForSale
{
    public string Name{get; set;}
    public decimal Price{get;set;}

    public override string ToString()
    {
        return Name +"\t=\t" + Price;
    }
}
List<ArticleForSale> articleForSale = new List<ArticleForSale>{
    new ArticleForSale{ Name= "schoen", Price=89.80m },
    new ArticleForSale{ Name= "muts", Price= 17.99m},
    new ArticleForSale{ Name= "sjaal", Price=89.80m },
    new ArticleForSale{ Name= "rok", Price= 10.00m },
    new ArticleForSale{ Name= "jurk", Price=45.00m },
    new ArticleForSale{ Name= "Gouden Horloge", Price=780.00m },
    new ArticleForSale{ Name= "Gouden Ketting", Price=7800.00m},
    new ArticleForSale{ Name=  "Handschoenen", Price=1000m},
    new ArticleForSale{ Name= "Sokken", Price=89.80m },
    new ArticleForSale{ Name= "Beenwarmers", Price=89.80m },
};

foreach(var art in articleForSale)
{
    Console.WriteLine(art);
}

for(int i = 0; i < articleForSale.Count(); i++)
{
    Console.WriteLine(articleForSale[i]);
}

您可以选择使用for循环或foreach进行迭代。

不清楚您在问什么;你提到了每个人的;您是否尝试过使用
foreach
两次在两个数组上循环?或顺便说一句,将紧密相关的问题存储在两个单独的数组中是在自找麻烦,我认为您的问题太广泛了。试着自己创建一个解决方案,然后,当你遇到任何具体问题时,在这里询问他们。例如,您似乎意识到实现所需的一种方法是使用
foreach
——因此,为什么不使用谷歌搜索
foreach
array
c
?当然,你会发现一些例子,展示了如何迭代这样的数组。你已经有了它的勇气-你只显示一个(随机)项。因此,遍历整个集合并显示每个项目。如果您确实必须使用foreach,请查看Array.IndexOf。您的问题来自@Marc的备注:在任一数组上使用
foreach
,您将很难在另一个数组中找到关联项。您必须使用索引,因为
article[index]
属于
price[index]
public class  ArticleForSale
{
    public string Name{get; set;}
    public decimal Price{get;set;}

    public override string ToString()
    {
        return Name +"\t=\t" + Price;
    }
}
List<ArticleForSale> articleForSale = new List<ArticleForSale>{
    new ArticleForSale{ Name= "schoen", Price=89.80m },
    new ArticleForSale{ Name= "muts", Price= 17.99m},
    new ArticleForSale{ Name= "sjaal", Price=89.80m },
    new ArticleForSale{ Name= "rok", Price= 10.00m },
    new ArticleForSale{ Name= "jurk", Price=45.00m },
    new ArticleForSale{ Name= "Gouden Horloge", Price=780.00m },
    new ArticleForSale{ Name= "Gouden Ketting", Price=7800.00m},
    new ArticleForSale{ Name=  "Handschoenen", Price=1000m},
    new ArticleForSale{ Name= "Sokken", Price=89.80m },
    new ArticleForSale{ Name= "Beenwarmers", Price=89.80m },
};

foreach(var art in articleForSale)
{
    Console.WriteLine(art);
}

for(int i = 0; i < articleForSale.Count(); i++)
{
    Console.WriteLine(articleForSale[i]);
}
string[] Artikelen = {"schoen", "muts", "sjaal", "rok", "jurk", "Gouden Horloge",
    "Gouden Ketting", "Handschoenen", "Sokken", "Beenwarmers" };
decimal[] PrijsArtikel = { 89.80m, 17.99m, 10.00m, 45.00m, 780.00m, 7800.00m, 1000m, 15.00m, 2.00m, 10.00m };

var articleForSale = Artikelen.Zip(PrijsArtikel, 
                                    (article, price)=> 
                                    { 
                                        return new ArticleForSale { Name= article, Price=price };
                                    }).ToList();