Операции над коллекциями: именование, ссылка, библиотека объектов Linq - PullRequest
0 голосов
/ 28 июля 2011

Я все больше пишу методы расширения Linq to Objects (L2O) для инкапсуляции операций над коллекциями (IEnumerable / ICollection / IList).

Для рекомендаций я часто заглядываю на Mathematica , которая имеет очень полный и мощный набор функций управления списком.

Некоторые функции у них такие же, как в L2O, например,
Reverse, Take, First, Last
Некоторые отличаются незначительно: Skip называется Drop.
Помимо них есть тонна операций, не предусмотренных BCL.

1. Существует ли существующая бесплатная библиотека OSS L2O, которая сравнивается с операциями со списком Mathematica?
(Я знаю moreLinq и LinqExtLibrary , оба из которых сравнительно ограничены)

2. Существует ли стандартная терминология для операций с коллекциями?
(де-факто стандартные имена, такие как «Шаблоны проектирования» от GOF)

3. Есть ли хороший справочник по операциям с коллекциями?

1 Ответ

0 голосов
/ 28 декабря 2011

Я не могу ответить № 1, но для № 2 и № 3, я думаю, вас могут заинтересовать 101 Образцы LINQ в MSDN.

Вот некоторые термины, которые они используют:

Ограничение, Проекция, Разделение, Упорядочение, Группировка, Набор, Преобразование, Элемент, Генерация, Квантификаторы, Агрегирование, Объединение

Приведенная выше ссылка также является отличной ссылкой напримеры кода для каждой операции.Если вы заинтересованы во внутренней работе, Джон Скит написал блестящую серию блогов под названием Edulinq , в которой в основном обсуждается весь дизайн LINQ от начала до конца.

...