c#的算法题(使用string.split显示每个数字)

Algorithm question for c# (displaying every number of digits using string.split)

假设我们有 1 到 20 的整数。我必须打印出如下内容:

Number of 1: 13
Number of 2: 5
Number of 3: 5
.
.
Number of 9: 2

我使用了string.split方法like this。

我如何使用整数数组实现它并继续使用 for 循环?或者有什么更好的方法可以解决这个问题?

is there any better way to solve this?

是的,有更好的方法可以实现您想要实现的目标。

这是我的尝试:

我建议使用 Dictionary<int, int> 来存储整数及其与数字的计数。

var result = Enumerable.Range(1, 20) //Iterate from 1 to 20
            .SelectMany(x => x.ToString()) //create an array from [1..20]
            .GroupBy(x => x)  //Group by element, so that you will get count
            .ToDictionary(x => x.Key, x => x.Count()); //Store it in dictionary

foreach(var item in result)
    Console.WriteLine($"Number of {item.Key} : {item.Value}");

.NET Fiddle