从for循环中添加每个迭代中的每个值c#

时间:2017-12-04 15:16:25

标签: c#

我想将每个迭代的每个A值加在一起。在这个循环中它会走十次左右,所以我将有10个不同的A值。我想要每个A的总价值。我已经解决了它,但我觉得它必须是一个更简单的方法来做到这一点。所以我的问题是,有更简单的方法吗?

int a = 0;
int b = 0;
int c = 0;
int e = 0;
for (int i = 1; i <= 10; i++)
{                
     a = i * i;
     c = a + b;
     c = e + c;
     e = c;                
}
Console.WriteLine(c);
Console.Read();

2 个答案:

答案 0 :(得分:4)

您可以使用LINQ:

int a = Enumerable.Range(1, 10).Sum(i => i * i);

与以下内容相同:

int a = 0;
for (int i = 1; i <= 10; i++)
{
    a += i * i;
}

顺便说一下,如果你想计算i使用Math.Pow的任何力量:

int a = Enumerable.Range(1, 10).Sum(i => (int)Math.Pow(i, 2));

答案 1 :(得分:0)

你的代码真的没有意义。例如,为什么要为c分配值,然后在下一行中分配另一个值?结果是没有使用第一个值。

但要专门回答你的问题“我想要每个A的总价值。”。

int a = 0;
int b = 0;
int c = 0;
int e = 0;
int total = 0;

for (int i = 1; i <= 10; i++)
{                
    a = i * i;
    c = a + b;
    c = e + c;
    e = c;              
    total += a;  
}
Console.WriteLine(total);
Console.Read();