var usedIds = list.Count > 20 ? new HashSet<int>() as ICollection<int> : new List<int>();
List は 20 個以下のアイテムでパフォーマンスが向上し、HashSet はアイテムの数が多いほどパフォーマンスが向上すると仮定すると (この投稿から)、予測可能なアイテム数に基づいて異なるコレクション タイプを動的に使用するのは効率的な方法ですか?
各コレクション タイプのアクションはすべて同じです。
PS: また、同じことを自動的に行うと思われるHybridCollectionクラスを見つけましたが、使用したことがないため、そのパフォーマンスに関する情報もありません。
編集:私のコレクションは、多くの挿入と取得を伴うバッファーとして主に使用されます。