相关疑难解决方法(0)

如何将Comparer用于HashSet

由于我在这里问的另一个问题,我想为我的对象使用HashSet

我将创建包含字符串的对象和对其所有者的引用.

public class Synonym
{
   private string name;
   private Stock owner;
   public Stock(string NameSynonym, Stock stock)
   {
       name=NameSynonym;
       owner=stock
   }
   // [+ 'get' for 'name' and 'owner']
}
Run Code Online (Sandbox Code Playgroud)

我知道我需要一个比较器,但以前从未使用它.我应该创建一个单独的类吗?喜欢:

public class SynonymComparer : IComparer<Synonym>
{
   public int Compare(Synonym One, Synonym Two)
   { // Should I test if 'One == null'  or  'Two == null'  ???? 
       return String.Compare(One.Name, Two.Name, true); // Caseinsesitive
   }
Run Code Online (Sandbox Code Playgroud)

}

我更喜欢有一个函数(或嵌套类[可能是单例?],如果需要)作为类同义词的PART而不是另一个(独立)类.这可能吗?

关于用法:因为我之前从未使用过这种东西,我想我必须在类同义词中写一个Find(字符串NameSynonym)函数,但是我应该怎么做呢?

public class SynonymManager
{ 
    private HashSet<SynonymComparer<Synonym>> ListOfSynonyms;

    public SynonymManager()
    {
        ListOfSymnonyms = new HashSet<SynonymComparer<Synonym>>(); …
Run Code Online (Sandbox Code Playgroud)

c# templates dictionary hashset

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

dictionary ×1

hashset ×1

templates ×1