我在C#中有問題的HashSet ....中的Hashset C#是給人一種奇怪的行爲
這是我的代碼:
List<int> elements = new List<int>();
for(int i = 0;i< 100000;i++)
{
elements.Add(i);
}
HashSet<int> c = new HashSet<int>();
foreach(var ele in elements)
{
c.Add(ele);
}
Console.WriteLine("Working HashSet " + c.Count);
var Numbers = new HashSet<int>();
var mycount = 0;
using (TextReader reader = File.OpenText(@"myfile.txt"))
{
while ((line = reader.ReadLine()) != null)
{
mycount++;
int parsed = int.Parse(line);
Numbers.Add(parsed);
}
}
Console.WriteLine("my counter took" + mycount);
Console.WriteLine("Bad HashSet" + Numbers.Count);
工作的HashSet 100 000
我反了500 000
壞的HashSet 9999
爲什麼第二HashSet中不加入500 00 0項目???? 這對我來說是一個神祕的東西
'myfile.txt'中有多少*個不同的*號? – AakashM 2012-01-13 11:27:52
這裏沒有比較,在txt文件中是什麼? Numbers.Add(mycount);'給你那個數字! – V4Vendetta 2012-01-13 11:29:51
試試'myCount + =(Numbers.Add(parsed))? 1:0'而不是'myCount ++' – Joe 2012-01-13 12:10:15