我有一個排序字典,我想按鍵長度排序。如何按字符串長度排序字典
字典的定義是:
private SortedDictionary<String, String> _replacementDictionary;
,並初始化爲:
_replacementDictionary = new SortedDictionary<string, string>(new LengthComparer());
我以爲我可以使用自定義排序是這樣的:
class LengthComparer : IComparer<String>
{
public int Compare(string x, string y)
{
return x.Length.CompareTo(y.Length);
}
}
但這並不爲長度相同的密鑰工作。即如果我添加鍵「ABC」和「XYZ」,只有這些節目時,我列舉的詞典
什麼叫 「不工作」 是什麼意思? – wudzik
那麼,這個比較器顯然只關心字符串的長度。如果你希望它做得更多,你將不得不編寫代碼。 – Jon
難道你會重寫GetHashCode來返回長度嗎? – i3arnon