如何在不使用c#中字符串数组的循环的情况下获取每个项目

时间:2015-10-03 07:07:03

标签: c#

我使用3个字符串数组。我希望得到每个项目对应的索引,即如果itnme将有第二个项目,那么我需要从其他两个字符串数组中获取第二个项目,如qntity,price.How can i可能吗?

    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)
          {
          }
      }
  }

3 个答案:

答案 0 :(得分:1)

我认为你可以采用的最佳方式是使用List Of Classes:

 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; 
        }

答案 1 :(得分: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
}

答案 2 :(得分: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

}