hashtable限定数量输出问题
一个有10000多行,分行读取并存入hashtable中,想让hashtable有1000条时输出,最后不足1000条的也输出到一个文本中
- C# code
Hashtable ht = new Hashtable( 1000 ); string line; using (StreamReader sr = new StreamReader(inFilePath, Encoding.Default)) { while (sr.Peek() >= 0) { line = sr.ReadLine(); ht.Add(line,null); } } StreamWriter sw = new StreamWriter(outpath, false, Encoding.Default); .....
问题是初始化hashtable的大小后,所有的内容还是都加进了ht中
菜鸟请教。。。
[解决办法]
用 List 就可以了。
HashTable的初始大小和限制容量没有一点关系,你属于用错误的方法解决错误的问题。
List<string> list = new List<string>();
using (StreamReader sr = new StreamReader(inFilePath, Encoding.Default))
{
while (sr.Peek() >= 0)
{
line = sr.ReadLine();
list.Add(line);
if (list.Count() > 1000)
{
StreamWriter sw = new StreamWriter(outpath, false, Encoding.Default);
...
}
}
}
[解决办法]
[解决办法]
[解决办法]