C# 将for循环c中每次迭代的每个值相加

C# 将for循环c中每次迭代的每个值相加,c#,C#,我想把每个迭代的值加在一起。在这个循环中,它会循环10次,所以我会有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

我想把每个迭代的值加在一起。在这个循环中,它会循环10次,所以我会有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();

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

但是为了回答你的问题,我想知道每个A的总价值

您可以使用LINQ:

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

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

试过a+=i*i?b的意义是什么?总是0?你是怎么解决的?您总是覆盖a,这是a的总值是多少?@Jdoe您知道如何使用调试器吗。。?另外,您是否知道如何对自己的代码进行代码检查。。?你懂基础数学吗?你的代码没有意义。在循环之后,你想在c变量中看到什么值?它是以一种非常复杂的方式将1到10的平方相加。谢谢,我真的说不出为什么。但是它必须在那里才能工作。@J.doe我猜你转错弯,然后从后面射入脚中:b总是0。所以c=a+b总是a,然后c被设置为e+c,这是上一次迭代+a的值,e被更新为该值。可以缩写为a=a+i*i,也就是a+=i*i。谢谢,我甚至不需要使用循环,我也不知道数学。Pow thing.@J.doe:只是澄清一下:LINQ也使用循环,你只是看不到而已。所以使用LINQ,因为它可以帮助简化代码什么是重要的,但不要期望它运行得更快;如果我从未声明过i变量?@J.doe,则是否工作?@J.doe:它是一个变量,并作为参数传递给Enumerable.Sum方法,因为输入sequence是EnumerableCame from Enumerable.Range。包含许多用于LINQ查询的通用扩展方法。输入序列决定类型。
int a = 0;
for (int i = 1; i <= 10; i++)
{
    a += i * i;
}
int a = Enumerable.Range(1, 10).Sum(i => (int)Math.Pow(i, 2));