如何在C#中增加i in循环

时间:2018-04-05 19:28:39

标签: c# for-loop increment

我试图修改下面的代码,因此列中的每个第一个数字都基于行号。

int i, sum = 0;

for (int row = 0; row < 7;  row++)
{
    for (i = 1; i < 6; i++)
    {
        sum = sum + i;
        Console.Write("{0} ", i);
    }

    Console.WriteLine(sum);
    sum = 0;                
}

Console.Read();

在控制台中显示:

1 2 3 4 5 15
1 2 3 4 5 15
1 2 3 4 5 15
1 2 3 4 5 15
1 2 3 4 5 15
1 2 3 4 5 15
1 2 3 4 5 15

但我尝试这样:

1 2 3 4 5 sum
2 3 4 5 6 sum
3 4 5 6 7 sum
4 5 6 7 8 sum
and so on..
......
....

关于如何解决这个问题的任何想法?

3 个答案:

答案 0 :(得分:7)

将内循环更改为

for (int i = row + 1; i < row + 6; i++)

答案 1 :(得分:1)

替换

sum = sum + i;
Console.Write("{0} ", i);

在这里输入代码

number = number + row
sum = sum + number;
Console.Write("{0} ", number);

这样您可以使用变量行来跟踪行的起始编号。

答案 2 :(得分:0)

如果您不需要控制台语句而只需要总和,则可以不使用内部循环并且:

sum = Enumerable.Sum(Enumerable.Range(row+1, 5));

这是LINQ

或者,如果您需要控制台声明:

Enumerable.Range(row+1, 5).ToList().ForEach(c => sum += c; Console.Write(c));