我想用C#编写代码。
实际上,我想用C#编写程序,以便该程序接收一个数字列表,然后接收另一个数字,最后检查给定列表中接收到的数字出现了多少次。
我从GitHub搜索并从C#中获取了以下代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Array9a
{
class Program
{
static void Main(string[] args)
{
int i, j,N,count;
Console.WriteLine("Enter the Maximum Range for the Array");
N = Convert.ToInt32(Console.ReadLine());
string[] a = new string[N];
int[] freq = new int[N];
for (i = 0; i < N; i++)
{
a[i] = Console.ReadLine();
freq[i] = -1;
}
for (i = 0; i < N; i++)
{
count = 1;
for (j = i + 1; j < N; j++)
{
if (a[i] == a[j])
{
count++;
freq[j] = 0;
}
}
if (freq[i] != 0)
{
freq[i] = count;
}
}
for (i = 0; i < N; i++)
{
if (freq[i] != 1)
{
Console.Write("{0}{1}", a[i], freq[i]);
}
}
Console.ReadLine();
}
}
}
上述代码的输出是所有元素的频率。但是我想修改代码,使程序接收到一个数字,然后检查给定数字的频率。
最近我正在学习C#。预先感谢
答案 0 :(得分:6)
这似乎很简单。
var result = freq.Count(x => x == theNumberToCheck);
答案 1 :(得分:2)
例如,您可以使用linq非常简单
int frequency = 1;
int[] arr = new int[] { 1, 4, 6, 7, 1, 2, 6 ,1};
var res =arr.Count(x => x == frequency);
Console.WriteLine(res);//print 3
答案 2 :(得分:2)
要获取每个数字的计数:
Counter A