Я возился с LINQ, и мне любопытно посмотреть, что я могу с ним сделать. Я хотел бы знать, возможно ли иметь запрос LINQ, который накладывает условие на результирующий набор. Например, предположим, что у меня есть список из нескольких слов, и я хочу найти наборы слов, которые образуют цепочку (т.е. последняя буква слова = первая буква следующего слова, нет ограничений на первое или последнее слово в цепочке) . Что-то вроде «привет, старый, молочный, желтый, мир ...».
Затем из этих наборов я хотел бы взять набор, образующий самую длинную цепочку.
Может ли LINQ сделать что-то подобное?
var chains = (from word in words
select word
where result.IsChain()).Max(x => x.Length);