问题描述
在 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);