これら 2 つがすべての場合で機能的に同等であるかどうか知りたいです。
辞書のデフォルトのコンパレータを変更することで、これら2つが機能的に異なる可能性はありますか?
また、Keys.Contains
遅くなることがほぼ保証されていませんか?
これら 2 つがすべての場合で機能的に同等であるかどうか知りたいです。
辞書のデフォルトのコンパレータを変更することで、これら2つが機能的に異なる可能性はありますか?
また、Keys.Contains
遅くなることがほぼ保証されていませんか?
これら 2 つの関数はまったく同じことを行います。
Keys.Contains
メソッドを定義する であるKeys
ために存在します。
標準実装 (インターフェイスではなくクラス) では、次のように定義されています。ICollection<TKey>
Contains
Dictionary<TKey, TValue>.KeyCollection
bool ICollection<TKey>.Contains(TKey item){
return dictionary.ContainsKey(item);
}
明示的に実装されているため、直接呼び出すこともできません。
上記で説明したインターフェイス、または をContains()
実装しているためネイティブ実装も呼び出す LINQ 拡張メソッドが表示されICollection<T>
ます。