【问题标题】:How to convert For Loop results into an Array then count the integers of the resulting Array in C#?如何将 For 循环结果转换为数组,然后在 C# 中计算结果数组的整数?
【发布时间】:2021-03-25 18:37:55
【问题描述】:

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

到目前为止,请参阅下面的内容:

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

如果有其他方法可以计算我上面的代码的结果,请随时告诉我。 请让我知道你的想法。

【问题讨论】:

  • 欢迎来到 Stack Overflow!您的问题不清楚:“for 循环的结果”是什么意思,“转换后的数组”是什么意思?请写下预期的结果。
  • 你可以使用Linq ?????
  • 谢谢!对不起,我还是个初学者。我想我在想,如果我的 For 循环写入控制台的结果显示 [7,3,5,6,8,9],有没有办法让控制台显示计数为 6?跨度>
  • 如果您想要在 1 到 100 之间可被 3 整除的数字数量,只需 100/3 并向下取整。
  • "[7,3,5,6,8,9]" 等等什么?您显示的代码没有这样做。

标签: c# arrays for-loop console.writeline


【解决方案1】:

有几种不同的方法可以完成您所追求的目标。您可以像以前那样使用 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}");

【讨论】:

    【解决方案2】:

    您可以为此目的使用 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);
    

    【讨论】:

      【解决方案3】:

      无需将数字插入到集合中即可对其进行计数。只需使用变量作为计数器

      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);
      

      【讨论】:

        【解决方案4】:
        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();
        

        【讨论】:

          猜你喜欢
          • 2023-01-29
          • 1970-01-01
          • 1970-01-01
          • 2022-08-03
          • 2022-01-20
          • 1970-01-01
          • 2020-11-27
          • 2017-12-05
          • 2018-08-10
          相关资源
          最近更新 更多