如何把for循环的所有结果加起来

本文关键字:结果 起来 for 循环 | 更新日期: 2023-09-27 18:13:03

static void Main(string[] args)
{
    int five = 5;
    int sum = 0;
    for (int i = 0;   i < 1000; i++)
    {
        if (i % five == 0)
        {
            Console.WriteLine(i);
        }
    }
}

这只是打印出所有小于1000的5的倍数。

有没有办法把for循环的所有结果加起来?

如何把for循环的所有结果加起来

"add up"是什么意思?您可以将它们添加到一个集合中,如List<int>:

List<int> multpiplesOf5 = new List<int>();
for (int i = 0; i < 1000; i++)
{
    if (i % 5 == 0)
    {
        multpiplesOf5.Add(i);
    }
}

如果你想输出所有的,你可以循环它们:

foreach(int i in multpiplesOf5)
    Console.WriteLine(i);

或使用String.Join:

string result = String.Join(Environment.NewLine, multpiplesOf5);

下面是一个简洁的LINQ版本的循环:

List<int> multpiplesOf5 = Enumerable.Range(0, 1000).Where(i => i % 5 == 0).ToList();

如果你想把它们加起来,你可以使用LINQ扩展Enumerable.Sum:

int sumOfAll = multpiplesOf5.Sum();

如果你想要被5整除的数的个数:

int count = multpiplesOf5.Count();

或不使用单个LINQ查询列表:

int count = Enumerable.Range(0, 1000).Count(i => i % 5 == 0);

如果你想要得到所有倍数为5的数字的和,那么

static void Main(string[] args)
{
    int five = 5;
    int sum = 0;
    for (int i = 0;   i < 1000; i++){
        if (i % five == 0)
        {
            sum += i;
        }
    }
    Console.WriteLine(sum);
}
 using System.Linq;
 var sumOfFives = Enumerable
   .Range(0, 1000)
   .Where(i => i % 5 == 0)
   .Sum();