在For循环的特定迭代中查找变量的值

本文关键字:查找 变量 迭代 For 循环 | 更新日期: 2023-09-27 18:29:29

我知道这可能是一个基本问题,但我对c#还不熟悉。假设我有以下循环:

        int foo;
        for (int i = 1; i < 5; i++)
        {
            foo = i+10;
        }

我怎样才能找到foo的值,比如说,I=4。此外,我如何在上一次for循环中找到foo的值?

在For循环的特定迭代中查找变量的值

最简单的方法是:

    int loopStop = 5;
    int[] foo = new int[loopStop -1];
    for (int i = 1; i < loopStop; i++)
    {
        foo[i -1] = i+10;  //arrays are 0 based in C#.
    }
    Console.WriteLine(foo[3]); //shows for position 4 in the array.

以下是您可以添加到程序中的一些内容,以满足您的要求。

int foo;
int previousValue;
for (int i = 1; i < 5; i++)
{
    //how can I find the value the previous run of the for loop?
    previousValue = foo; 
    foo = i+10;
    //How can I find the value of foo at say, i=4. 
    if (i == 4)
    {
        // Do whatever
    }
}

c#中循环迭代器的值在for循环之外无效。对下面的类似循环的代码执行操作将解决问题。c语言K&R在他们的书《C语言》中经常使用这种技巧。i的最终值等于5。

            int foo;
            int i = 1;
            for (; i < 5; i++)
            {
                foo = i + 10;
            }​