20/02/20 15:36:09 jdtbGwr30.net
相談させてください。
System.Windows 名前空間の Thickness 構造体をキーとした
Dictionary のパフォーマンスが期待通りにならなかったので、
試しに new Thickness(0), new Thickness(1), new Thickness(2), ...
のハッシュコードを調べてみたところ、すべて 0 になっていました。
ひとまず以下のような EqualityComparer を定義して対応しているのですが、
もう少し真っ当な解決策がありましたらアドバイスをいただけないでしょうか。
class ThicknessEqualityComparer : IEqualityComparer<Thickness>
{
public bool Equals(Thickness tx, Thickness ty)
=> tx.Equals(ty);
public int GetHashCode(Thickness t)
=> (t.Left, t.Top, t.Right, t.Bottom).GetHashCode();
}
それから、もし Thickness 構造体のこの挙動が不具合だとすれば
フィードバックを行おうと思っているのですが、ご意見をいただけないでしょうか。
また実際にフィードバックを行う際は、送信先は IDE である Visual Studio の
メニューバーの「ヘルプ(H) → フィードバックを送信(F)」で適切でしょうか。
どうぞよろしくお願いいたします。