由于我在这里问的另一个问题,我想为我的对象使用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)