SafeList) have a great feature for fast lookups:
BinarySearch. However, the list needs to be sorted in order to use it. You could call
Sort() first, but that would give back all the performance you got with
BinarySearch. It’s better to just keep the list sorted all the time. Unfortunately, there is no function on
SafeList to efficiently insert an item into a list that’s already sorted. Today’s article presents an extension function that adds this functionality on to
IList<T> and even the non-generic
IList so your list will always be sorted for quick lookups with
BinarySearch. Read on for the code, unit tests, and a performance test showing the advantages you stand to gain.