C#foreach循环从外循环到内循环取值

时间:2016-08-24 06:23:50

标签: c# arrays for-loop

我有以下代码。

int[] a = new int[] { 8, 9 };
for(int i=0;i<n;i++)
{
     print i;
     int z;
     //during first iteration 
     z=8;
     during second iteration
     z=9;
}

输出应该是这样的。 在第一次迭代期间,i = 0且z = 8 在第二次迭代期间,i = 1且z = 9

数组a包含2个元素。 N和数组a中的元素数量将始终相同。接下来我的for循环将执行。在第一次迭代期间,希望z值应为8(数组的第一个元素)和第二次迭代,我的z值应为9.我想将整数数组的第一个元素映射到for循环的第一个迭代,依此类推。

3 个答案:

答案 0 :(得分:4)

for (int i = 0; i < a.Length; i++) // or i < n if you want
{
    print i;
    int z = a[i]; // this line will get value from a one by one, 0, 1, 2, 3 and so on...
}

编辑1 -

在看到对另一个答案的评论之后,阵列&#39; a&#39;结果是一个动态数组,其大小为n(即2)

修订版:

int n = 2;
int[] a = new int[n];
string input = null;

for (int i = 0; i < a.Length; i++) // or i < n if you want
{
    print i;
    input = Console.ReadLine();
    try {
        a[i] = int.Parse(input);
        Console.WriteLine(string.Format(
            "You have inputted {0} for the {1} element",
            input, i
        ));
    } catch { Console.WriteLine("Non integer input"); i -= 1; }
}

答案 1 :(得分:0)

你可以试试这个

int [] a = {8,9};

    for(int i=0; i< a.Length; i++)
    {
        int z = a[i]; //for taking value from array at the specific ith position
        Console.WriteLine("i: " + i + " z:" + z);
    }

答案 2 :(得分:0)

试试这个

    List<int> a = new List<int>();

    int n = 2; // you can change it according to your need



  for (int i = 0; i < n; i++)
            {
                string str = Console.ReadLine(); // make sure you enter an integer and conver it
                int z = int.Parse(str);

                a.Add(z);
            }

            foreach (int k in a)
            {
                Console.WriteLine(k);
            }