0

私は Iesi.Collections.Generic.ISet を使用しています。これに依存できるかどうかを判断する方法を考えています。.NET Framework 4 を使用しています

4

1 に答える 1

5

編集:私はIesi.Collections以前に使用したことがありません(ドキュメントを見つけることはできません)が、それがのようなものであることが意図されている場合System.Collections.Generic.ISet<T>、以下の回答は依然として関連しています。挿入順序を保証するセット インターフェイスがあれば、非常に驚​​かれることでしょう。

「セット」の概念は、本質的に順不同です。特に「挿入順序」セットを使用している場合を除き、それに依存するべきではありません

特に:

  • HashSet<T>予測が困難な実装固有の方法で順序を変更する可能性があります。
  • SortedSet<T> 順序を保証しますが、それは要素の順序であり、挿入順序ではありません。したがって、1, 5, 3, 6, 2 を a に挿入してSortedSet<int>から反復すると、1, 2, 3, 5, 6 が得られます。
于 2013-04-26T14:47:42.483 に答える