如何将 For 循环结果转换为数组,然后在 C# 中计算结果数组的整数?
Posted
技术标签:
【中文标题】如何将 For 循环结果转换为数组,然后在 C# 中计算结果数组的整数?【英文标题】:How to convert For Loop results into an Array then count the integers of the resulting Array in 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]" 等等什么?您显示的代码没有这样做。 【参考方案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();
【讨论】:
以上是关于如何将 For 循环结果转换为数组,然后在 C# 中计算结果数组的整数?的主要内容,如果未能解决你的问题,请参考以下文章
在C#中怎么显示把double类型数组转换成string类型数组
C#,winfom,数据库为access.如何把sql查询结果直接保存在数组中?不是通过循环一个值一个值的赋予。
递归 C# 函数从 for 循环内部返回 - 如何转换为 F#?
将 Enumeration<Integer> for 循环从 Java 转换为 C#? C# 中的 Enumeration<Integer> 到底是啥? [复制]