1. ホーム
  2. .net

[解決済み] IComparable<T> Vs. IComparer<T> を使用する場合

2022-12-11 20:45:07

質問

これらのインターフェースのうち、どちらを実装する必要があるのかを考えています。それらは両方とも本質的に同じことをする。私はいつ他より1つを使用するのでしょうか?

どのように解決するのですか?

このような場合 かなり と同じものです。 IComparer<T> は二つの異なるオブジェクトを比較することができる型に実装されているのに対し IComparable<T> は同じ型の他のインスタンスと自分自身を比較することができる型に実装されています。

を使うことが多いのですが IComparable<T> を使うことが多いです。 this インスタンスに IComparer<T> は、コレクションをソートするのに便利なように IComparer<T> は比較の外に立っているので、コレクションのソートに便利です。