CoffeeScript - компилировать все файлы .coffee в текущем каталоге и во всех подкаталогах

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

Простой способ использования перегрузки для Select, что смешивается в индексе , связанном с ToLookup , дает вам то, что вы хотите:

var oddsAndEvens = input
    .ToList() // if necessary to get from IQueryable to IEnumerable
    .Select((item, index) => new { isEven = index % 2 != 0, item })
    .ToLookup(
        i => i.isEven,
        i => i.item);

Это приведет к Lookup , которая имеет следующее преимущество :

Если ключ не найден в коллекции, возвращается пустая последовательность.

blockquote>

Это означает, что после указанного выше запроса LINQ вы можете:

var evens = oddsAndEvens[true];
var odds = oddsAndEvens[false];

25
задан William 11 January 2012 в 09:55
поделиться