2014-10-09 121 views
-1

我想在每次按「顯示全部」按鈕時顯示所有「Artikelen」(文章)和「PrijsArtikel」(文章價格)。使用foreach循環兩個數組

顯示三個隨機文章及其相關價格作品的代碼,但現在我希望它以另一種方法顯示所有數組。

我得和foreach()一起工作。

string[] Artikelen = {"schoen", "muts", "sjaal", "rok", "jurk", "Gouden Horloge", 
     "Gouden Ketting", "Handschoenen", "Sokken", "Beenwarmers" }; 
double[] PrijsArtikel = { 89.80, 17.99, 10.00, 45.00, 780.00, 7800.00, 1000, 15.00, 2.00, 10.00 }; 

private void btnRandom_Click(object sender, RoutedEventArgs e) 
{ 
    txtOplossing.Text = ""; 

    string temp; 
    temp = string.Empty; 

    Random rnd = new Random(); 
    int WillekeurigGetal = 0; 

    for (int i = 0; i < 3; i++) 
    { 
     WillekeurigGetal = rnd.Next(0, 10); 
     temp = (Artikelen[WillekeurigGetal]) + 
     (" \t = \t ") +  (PrijsArtikel[WillekeurigGetal]) + (" Euro \n"); 
     txtOplossing.Text += temp.ToString(); 
    } 
} 

private void btn_All_Items_Click(object sender, RoutedEventArgs e) 
{ 

} 
+2

這是很不清楚你在問什麼;你提到'foreach';你有沒有嘗試過使用'foreach'來循環兩個數組?要麼...?順便提一句,將緊密相關的問題存儲在2個獨立的陣列中會帶來麻煩,IMO – 2014-10-09 11:12:11

+1

我認爲您的問題過於寬泛。試着自己創建一個解決方案,然後,當你遇到任何特定的問題時,請在這裏詢問他們。例如,你似乎意識到實現你想要的東西的一種方法是使用'foreach' - 因此,爲什麼不用谷歌搜索'foreach'和'array'和'c#'?當然,你會發現一些例子展示瞭如何迭代一個數組。 – 2014-10-09 11:12:45

+0

你已經有了它的膽量 - 你顯示一個(隨機)項目。因此,遍歷整個集合並顯示每個項目。如果你真的必須使用foreach,看看Array.IndexOf。 – mcwyrm 2014-10-09 11:15:00

回答

0

使用的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"; 
1

你不如創建合適的數據結構

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(); 

而且你既可以選擇用迭代for循環或的foreach。