LINQ - может ли он вернуться назад?

Я возился с LINQ, и мне любопытно посмотреть, что я могу с ним сделать. Я хотел бы знать, возможно ли иметь запрос LINQ, который накладывает условие на результирующий набор. Например, предположим, что у меня есть список из нескольких слов, и я хочу найти наборы слов, которые образуют цепочку (т.е. последняя буква слова = первая буква следующего слова, нет ограничений на первое или последнее слово в цепочке) . Что-то вроде «привет, старый, молочный, желтый, мир ...».

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

Может ли LINQ сделать что-то подобное?

var chains = (from word in words
             select word
             where result.IsChain()).Max(x => x.Length);
5
задан Roly 9 November 2010 в 16:04
поделиться