【发布时间】:2018-05-31 17:40:05
【问题描述】:
我是 c# 的初学者,只是想对我的程序寻求一点帮助,我希望输出数组中每个 int 的重复数,例如数组 1,2,3,4,1,1,3 将输出 1:3、2:1、3:2、4:1。目前,无论每个数字有多少,字典都只计算一个并将每个值输出为 1。
static void Main(string[] args)
{
Console.WriteLine("Type 10 numbers");
int[] arr1 = new int[10];
for (int i = 0; i < arr1.Length; i++)
{
arr1[i] = Convert.ToInt32(Console.ReadLine());
}
output(arr1);
Console.ReadKey();
}
static void output(int[] arr1)
{
Dictionary<int, int> dict = new Dictionary<int, int>();
for (int i =0; i < arr1.Length; i++)
{
if (dict.ContainsKey(arr1[i]))
{
int c = dict[arr1[i]];
dict[arr1[i]] = c++;
}
else
{
dict.Add(arr1[i], 1);
}
}
for (int i =0; i<arr1.Length; i++)
{
Console.WriteLine(arr1[i] + ":" + dict[arr1[i]]);
}
}
【问题讨论】:
-
有什么问题?
标签: c# arrays dictionary duplicates