誰でも項目の順序が任意の重複を持っている場合は見つけるための良いと効率的な拡張メソッドを持っていますか?のC#:IEnumerableをの良いと効率的な実装<T> .HasDuplicates
は、私は拡張メソッドにreturn subjects.Distinct().Count() == subjects.Count()
を置くことができると思いますが、種類のより良い方法があるはずと感じています。この方法では、要素を2回カウントし、すべてのdistict要素を並べ替える必要があります。より良い実装では、見つかった最初の複製でtrueを返す必要があります。良い提案はありますか?私は最も簡単な拡張メソッドがあると思い
ここで*かなり*賢明です...その1つを試してみる必要があります! – Svish
これは便利かもしれません...私はHashSetがコンパクトなフレームワークでサポートされているとは思わない... grrrrr。 –
あなたは 'Dictionary < T、K >'と同じことをすることができますが、メモリの効率はやや劣ります。 'Dictionary < T、K > .Add'は' bool'を返しませんが、 'Count'プロパティはコードの数行を犠牲にして調べるのが非常に速いでしょう。 –