c#编一个统计字符串出现次数的程序
文件1.ini文件中,内容如下:aabbccaaaabb//统计aabbcc各自的次数,前提是1.ini文件中的字符串是不确定的,以上只是举了个例子,基本上就是读1.in...
文件1.ini文件中,内容如下:
aa
bb
cc
aa
aa
bb
//统计aa bb cc各自的次数,前提是1.ini文件中的字符串是不确定的,以上只是举了个例子,基本上就是读1.ini文件然后统计会出现在1.ini文件中各个字符串出现的次数。求可执行的程序,先谢谢啦 展开
aa
bb
cc
aa
aa
bb
//统计aa bb cc各自的次数,前提是1.ini文件中的字符串是不确定的,以上只是举了个例子,基本上就是读1.ini文件然后统计会出现在1.ini文件中各个字符串出现的次数。求可执行的程序,先谢谢啦 展开
2个回答
展开全部
每一行作为一个字符串麽?如果是那很简单啦,代码如下:
static void Main(string[] args)
{
string fullname = @"D:\demo.ini";
if (!System.IO.File.Exists(fullname))
{
Console.WriteLine("未找到文件:{0}", fullname);
return;
}
Dictionary<string, int> dict = new Dictionary<string, int>();
string[] lines = System.IO.File.ReadAllLines(fullname, Encoding.Default);
foreach (string line in lines)
{
if (!dict.ContainsKey(line))
{
dict.Add(line, 0);
}
else
{
dict[line] += 1;
}
}
foreach (string key in dict.Keys)
{
Console.WriteLine("{0},出现{1}次", key, dict[key]);
}
}
更多追问追答
追问
那怎样把最后统计的结果按照aa次数为3次,bb为2次、、这种输出啊??
追答
已经是按那样输出了
展开全部
public static void Main(string[] args)
{
FileStream fs = new FileStream("1.ini", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
List<string> list = new List<string>();
string s = sr.ReadLine();
while (s != null)
{
if (s.Trim().Length > 0)
{
list.Add(s);
}
s = sr.ReadLine();
}
string[] sArr ={ "aa", "bb", "cc" };
for (int i = 0; i < sArr.Length; i++)
{
int count = GetStrCount(list, sArr[i]);
Console.WriteLine("字符串[{0}]在集合中出现[{1}]次", sArr[i], count);
}
Console.ReadLine();
}
/// <summary>
/// 获得字符串在集合中出现的次数
/// </summary>
/// <param name="list"></param>
/// <param name="str"></param>
/// <returns></returns>
static int GetStrCount(List<string> list, string str)
{
int count = 0;
for (int i = 0; i < list.Count; i++)
{
if (list[i] == str)
{
count++;
}
}
return count;
}
追问
现在是1.ini中的字符串是不确定的,不一定是aa,bb,cc,要怎样写呢??
追答
你这样 将List list删除重复的 搞成某个唯一 生成一个List listNew
代码如下:
List listNew = new List();
for (int i = 0; i < list.Count; i++)
{
if (listNew.Contains(list[i]) == false)
{
listNew.Add(list[i]);
}
}
string[] sArr = listNew.ToArray();
代替 这一行string[] sArr ={ "aa", "bb", "cc" };
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询