如何在每次迭代的while循环中创建一个新数组?

时间:2010-07-21 04:52:17

标签: c# asp.net

我有一个while循环正在做一些事情,我想要的是它每次创建一个新数组。

while(condition){
//do some stuff
//create an array x[]
//amend values in array
//save as new array each time until loop finished
}

实际上我需要使用split存储数组中不同数据类型的逗号分隔值。然后我可以对这些值进行排序,比较所有行的第0个位置元素。

4 个答案:

答案 0 :(得分:2)

在循环之前声明并创建一个“数组数组”,并将每个新数组添加到它。

答案 1 :(得分:0)

使用List,因为你可以做这样简单的事情:

List<string[]> myArrayList = new List<string[]>();
while(condition)
{
    string[] blah = new string[10];
    blah[0] = "whatever";
    myArrayList.Add(blah);
}

编辑:从List<>数组中读取内容,只需执行foreach

foreach (string[] myArray in myArrayList)
{
    //each instance of 'myArray' is one of the arrays you added previously

    for (int ii = 0; ii < myArray.Length; ii++)
    {
        string myString = myArray[ii];

        //do stuff with my array entry
    }
}

答案 2 :(得分:0)

听起来你需要一些特别的帮助。如果您不知道您将创建多少个数组,我建议使用List&lt; [element type]&gt; ...

List<List<int>> outerList = new List<List<int>>();
while(condition)
{
   List<int> loopList = new List<int>();

   loopList.Add(5);
   loopList.Add(1);
   loopList.Add(27);

   outerList.Add(loopList);
}

答案 3 :(得分:0)

double[] x = new double[5] { 20, 15, 25, 10, 5 };
Array.Sort(x);

double vaule = 0;
double y = 0;

while (y < 5)
{
    if (vaule < x[(int)y++]);
    {
        vaule = x[(int)y++];
    }
    y++;
}

double[] myarray = Convert.ToString(x[5]);