如何将 For 循环结果转换为数组,然后在 C# 中计算结果数组的整数?

问题描述

在 C# 中,我将如何将 For 循环的结果转换为数组并计算(在控制台上显示)存储在该转换数组中的整数数量

请参阅下文了解我目前所拥有的内容

  for (int i = 1; i < 100; i++)
            {
                if (i % 3 == 0)
                {
                    Console.WriteLine(i);
                }
            }

如果有不同的方法来计算我上面的代码的结果,请随时告诉我。 请告诉我您的想法。

解决方法

有几种不同的方法可以实现您的目标。您可以像以前一样使用 for 循环并像这样完成它:

var list = new List<int>();
var sum = 0;
for (var i = 1; i < 100; i++)
{
    if (i % 3 != 0)
        continue;
    
    list.Add(i);
    Console.WriteLine(i);
    sum += i;
}

Console.WriteLine($"Count: {list.Count}");
Console.WriteLine($"Sum: {sum}");

您也可以使用 Linq 完成此操作:

var numbers = Enumerable.Range(1,99)
    .Where(i => i % 3 == 0)
    .ToList();
var sum = numbers.Sum();

numbers.ForEach(Console.WriteLine);
Console.WriteLine($"Count: {numbers.Count}");
Console.WriteLine($"Sum: {sum}");
,

您可以为此使用 List:

 var list = new List<int>();
 for (int i = 1; i < 100; i++)
 {
     if (i % 3 == 0)
     {
         list.Add(i);
         Console.WriteLine(i);
     }
  }
  Console.WriteLine(list.Count);
,
List<int> myList = new List<int>();
for (int i = 1; i < 100; i++) {
    if (i % 3 == 0) {
        Console.WriteLine(i);
        myList.Add(i);                    
    }
}
        
Console.WriteLine(myList.Count);

//if you want an array....
int[] myArray;
myArray = myList.ToArray();
,

无需将数字插入到集合中进行计数。只需使用一个变量作为计数器

int count = 0;
for (int i = 1; i < 100; i++)
{
    if (i % 3 == 0)
    {
        count++; // Increments count by 1.
        Console.WriteLine(i);
    }
}
Console.WriteLine("The count is " + count);