为了实现一串字符串各种字符串出现的次数统计,在C++中可以使用map容器实现,与它对应的,在C#中可以使用Hashtable实现。这里统计以分号实现分隔的各字符串频率统计程序。
using System;
using System.Collections;
namespace HashTable
{
class Program
{
private static void faultStatistic(Hashtable hashtable, string item)
{
if (hashtable.ContainsKey(item))//
{
hashtable[item] = (int)hashtable[item] + 1;
}
else//不存在此该字符串则添加,并初始化次数为1
{
hashtable.Add(item, 1);
}
}
static void Main(string[] args)
{
string longStr = "I love you;I miss you;I hate you;I beat you;I miss you;I hate you;I love you;I love you;I love you;I miss you;";
string []tempstr = longStr.Split(';');
Hashtable ht = new Hashtable();
for(int i=0;i<tempstr.Length;i++)
{
if(tempstr[i]!="")
{
faultStatistic(ht, tempstr[i]);
}
}
foreach(DictionaryEntry de in ht)
{
Console.WriteLine("{0}:{1}次", de.Key,de.Value);
}
Console.ReadLine();
}
}
}