求用c#编程:输入一段文字,统计各单词出现的次数,并以多到少的顺序输出。

如题所述

public class Obj
{
string _Text;
int _Count;
public string Text
{
get { return _Text; }
set { _Text = value; }
}
public int Count
{
get { return _Count; }
set { _Count = value; }
}
}

if (this.textBox1.Text.Trim() != "")
{
string str = this.textBox1.Text.Trim().Replace("\n", "").Replace(" ", " ");
string[] strs = str.Split(' ');
List<string> lst = new List<string>();
List<Obj> lst2 = new List<Obj>();
for (int i = 0; i < strs.Length; i++)
{
Obj obj;
int j = lst.IndexOf(strs[i]);
if (j < 0)
{
lst.Add(strs[i]);
obj=new Obj();
obj.Text =strs[i];
obj.Count=1;
lst2.Add(obj);
}
else
{
lst2[j].Count = lst2[j].Count + 1;
}
}
//下面根据需要修改成想要的形式
//以下是c/s的c#代码
dataGridView1.DataSource = lst2;
MessageBox.Show(lst2.Count.ToString());
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-19
这个问题看似简单,但很有深度。牵扯到分词和排序。

算法好了就可以用来做搜索引擎来。
第2个回答  2007-11-21
上面回答的好啊。
相似回答