可能重复:
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