可能重複:
Why can't I retrieve an item from a HashSet without enumeration?檢索HashSet的對象在C#
我需要大量的對象添加到Set.and我應該找回它們非常快。我知道的唯一方法就是使用散列。但C#中的HashSet類不包含任何'Get'方法。字典類沒有用處,因爲在字典中查找對象非常耗時。
可能重複:
Why can't I retrieve an item from a HashSet without enumeration?檢索HashSet的對象在C#
我需要大量的對象添加到Set.and我應該找回它們非常快。我知道的唯一方法就是使用散列。但C#中的HashSet類不包含任何'Get'方法。字典類沒有用處,因爲在字典中查找對象非常耗時。
HashSets基本上用於測試集合中是否包含對象。它是沒有排序和未排序的,沒有可用於檢索對象的索引。
如果你需要存儲和檢索對象,請使用其他集合類型,如列表,哈希表等
HashSet中表示數字的值。您可以使用Contains()
來查看某個值是否在集合中。字典用於存儲對象並通過其散列(關鍵字)檢索它。
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
public enum EnumA
{
One,
Two,
Three,
Four
}
static void Main(string[] args)
{
HashSet<EnumA> test = new HashSet<EnumA>();
test.Add(EnumA.Four);
Console.WriteLine("Contains one:");
Console.WriteLine(test.Contains(EnumA.One));
Console.WriteLine("Contains four:");
Console.WriteLine(test.Contains(EnumA.Four));
Console.WriteLine();
Console.ReadLine();
return;
}
}
}
這可能在將來幫助: http://msdn.microsoft.com/en-us/library/ms229335(v=vs.90).aspx – 5arx 2011-01-06 10:25:19
@Masoud:你可以發佈你的代碼?可能更容易重建:-) – 2011-01-06 10:31:18