与c#编程语言中的for循环混淆

时间:2016-10-15 09:01:30

标签: c# .net

我是C#编程语言的新手,我对一个问题很困惑。我有一个for循环,在一个循环中增加两倍,但在每个循环中增加一次。

它省略i++的原因是什么?

string inValue;
for (int i = 0; i < 10; i++)
{
    Console.Write("Enter Score{0}: ", i + 1);
    inValue = Console.ReadLine();                   
}

3 个答案:

答案 0 :(得分:3)

++增量运算符仅增加一个值

for (int i = 0; i < 10; i++)

增加两次:

for (int i = 0; i < 10; i+=2)
{
    Console.Write("Enter Score{0}: ", i);                 
}

了解详情:Increment (++) and Decrement (--) Operators

|      If     |    Equivalent Action   |    Return value           |
|  variable++ |      variable += 1     |  value of variable before |
|             |                        |     incrementing          |

以下一行:

Console.Write("Enter Score{0}: ", i + 1);

i的值增加加1,但不会存储到i。这就像写作:

int b = i+1; // i is  not affected. New value never stored back into i
Console.Write("Enter Score{0}: ", b);

以下任何一种方式都会使价值增加2:

//Option 1
for (int i = 0; i < 10; i +=2)

//Option2
Console.Write("Enter Score{0}: ", i++);

//Option3
i = i+1;
Console.Write("Enter Score{0}: ", i);

答案 1 :(得分:2)

i++表示您只需将i增加1,或者只需编写代码i = i + 1即可。因此,如果你想要增加i + 2的循环,你可以写下这样的代码:

for(int i = 0; i < 10; i += 2)
{
   Console.Write("Enter Score{0}: ", i);
   inValue = Console.ReadLine(); 
}

循环将i增加2。

答案 2 :(得分:0)

(i ++)将i增加1,就像写作一样:i = i + 1。 (i + 1)不会增加i。