Существует ли библиотека общих алгоритмов сбора данных для .NET? Я хотел бы быть в состоянии написать что-то вроде этого:Алгоритмы общей коллекции в C#
IList<T> items = GetItemsFromSomeWhere();
Algorithms<T>.Sort(items);
//
// ....
//
T item = GetItemSomwHow();
int i = Algorithms<T>.IndexOf(items, item);
Обратите внимание, что items
не List<T>
, в противном случае я мог бы просто использовать List<T>.Sort
и List<T>.BinarySearch
методы.
Конечно, я могу реализовать их сам, я просто не хочу изобретать велосипед.
Я также хотел бы, чтобы реализация была эффективной.
P.S.
Пожалуйста, не сообщайте, какие коллекции использовать. Я прекрасно осведомлен о способностях Array
или List<T>
. Мне нужна библиотека алгоритмов для работы с любой коллекцией IList<T>
.
EDIT: Обнаружено то, что мне нужно - см. Мой собственный ответ.
Ребята, вам больше нечего делать? – mark