私は Iesi.Collections.Generic.ISet を使用しています。これに依存できるかどうかを判断する方法を考えています。.NET Framework 4 を使用しています
質問する
94 次
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 に答える