using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Mails {
class Program {
static void Main(string[] args) {
DateTime start = DateTime.Now;
using (FileStream fs = new FileStream(@”c:\email.txt”, FileMode.Open))
using (FileStream fs1 = new FileStream(@”c:\email.1.txt”, FileMode.Create)) {
Hashtable hs = new Hashtable(0×1000);
StreamReader sr = new StreamReader(fs, Encoding.ASCII);
string[] lines = sr.ReadToEnd().Split(‘\n’);
StringBuilder sb = new StringBuilder(0×1000);
foreach(string line in lines) {
if (!hs.ContainsKey(line)) {
hs.Add(line, null);
sb.Append(line);
sb.Append(“\r\n”);
}
};
StreamWriter sw = new StreamWriter(fs1, Encoding.ASCII);
sw.Write(sb.ToString());
sw.Close();
DateTime end = DateTime.Now;
Console.WriteLine(end - start);
}
}
}
}
Tiny的Python在我的工作机上运行时间很固定:94MS;我的C# 代码运行时间是78-95MS;Python的代码的确要少得多,但是运行效率是不是一定比C、C++、C#高,还有待商榷。
代码是上班时间抽空写的,应该还有优化的余地。
update:在把原文件增大到36M大的时候,C#运行时间 530MS,Py程序运行时间 1800MS,并且不输出结果了。