How can I create a constant hashset in c#
本问题已经有最佳答案,请猛点这里访问。
现在,我有一个字符串常量数组,并通过循环检查值是否存在。但是我想要一个更有效的方法来存储我的价值。我知道有一个哈希集可以这样使用:
1 2 3 4 | HashSet<string> tblNames = new HashSet<string> (); tblNames.Add("a"); tblNames.Add("b"); tblNames.Add("c"); |
但是,是否可以使它成为类中的一个常量成员,如下所示:
1 |
创建"常量"集的最佳方法可能是使用以下方法将您的
1 |
public :每个人都可以访问它。static :内存中只有一个副本,不管创建了多少父类实例。readonly :不能重新赋值。IEnumerable<> :只能遍历其内容,不能添加/删除/修改。
要搜索,您可以使用LINQ在您的
1 2 3 4 5 | Debug.WriteLine(fruits.Contains("Apples")); // True Debug.WriteLine(fruits.Contains("Berries")); // False fruits = new HashSet<string>(); // FAIL! readonly fields can't be re-assigned fruits.Add("Grapes"); // FAIL! IEnumerables don't have Add() |