2015-10-03 24 views
-1

蔭使用3個arrays.i希望得到每個項目對應的指標,也就是說,如果itnme將有第二個項目,然後我需要得到第二項從其他兩個字符串數組,如qntity,price.How我可以這樣做嗎?如何獲得每個項目沒有在C#中使用一個循環從字符串數組

string[] itmnme= new string[0] { }; 
    string[] price= new string[0] { }; 
    string[] qntity= new string[0] { }; 
foreach (string iname in itmnme) 
    { 
    foreach (string qnt in qntity) 
     { 
     foreach (string prc in price) 
      { 
      } 
     } 
    } 
+0

請問你可以包括三個例子列表? –

+0

@ un-lucky:string [] itmnme = new string [0] {}; string [] price = new string [0] {}; string [] qntity = new string [0] {}; – hakkeem

回答

0

假設所有的數組的大小是相同的,你可以使用這樣的代碼:

for(int i=0; i<itmnme.Length; i++) 
{ 
    var name = itmnme[i]; 
    var quantity = qntity[i]; 
    var price = price[i]; 
    // do what you need with these values 
} 
1

我認爲,你可以採用的,使用列表類的最佳途徑:

public class Product 
    { 
     public string itmnme; 
     public string price; 
     public string qntity; 
    } 

您的清單會像:

List<Product> productList = new List<Product>{new Product() 
         {itmnme="item1",price="20",qntity="1"}, 
         new Product(){itmnme="item2",price="220",qntity="3"} }; 

這樣就可以迭代列表,輕鬆地從列表中獲得價值:

 foreach (var item in productList) 
     { 
      string itmnme=item.itmnme; 
      string price = item.price; 
      string qntity=item.qntity; 
     } 
0

聽起來像是你將需要檢索每個陣列,給定一個位置數據,是這樣嗎?如果是這樣,你可以有一個方法,如:

public string[] getItemAtPosition(int position) 
{ 
    string[] dataResult = new string[0]{}; 

    string itmnmeItem = itmnme[position]; 
    string qntityItem = qntity[position]; 
    string priceItem = price[position]; 

    dataResult.add(itmnmeItem); 
    dataResult.add(qntityItem); 
    dataResult.add(priceItem); 

    return dataResult; 
    //now this array contains data from each array at the specified position 

} 
相關問題