最近写了一个关键字过滤器,也就是脏字过滤,由于是新手,所以效率大家可能不敢恭维。
不过总算是实现了哈。
对于保存脏字的字典,用的是NameValueCollection,他的结构大概为下图:
一个键值组合,
一个键能对应多个值,
这就使得我们第一次
的匹配能减少很多次。
按照这个结构,我们把关键字的字典读取,每次增加关键字都会历遍Key组,如果相对应的Key已经存在,
则把值添加到对应Key的值组里面,如果不存在则创建新的Key来存放值。
下面是我的流程图:
然后是测试的效率:
最后是实现的代码,需要的兄弟可以用用,但不保证效率哈~
1
using System;
2
using System.Collections.Specialized;
3
using System.Xml;
4
using System.Text;
5
using System.IO;
6
7
namespace KeyWordFilter
8
2
3
4
5
6
7
8