Перейдите связанный список, используя Lambda - PullRequest
0 голосов
/ 20 июня 2011

Можно ли пройти (IE: найти элемент) в связанном списке, используя Lambda?Мое предположение, что это не так?

Ответы [ 2 ]

5 голосов
/ 20 июня 2011

Конечно, если вы используете реализацию .Net LinkedList . Поскольку он реализует IEnumerable<T>, вы можете использовать LINQ против него. Если вы имели в виду, можете ли вы использовать Lambda специально, то вы можете сделать следующее, чтобы использовать его рекурсивно.

Func<Node, Node> getLastNode = null;
getLastNode = n => n.IsLast? n : getLastNode(n);
0 голосов
/ 20 июня 2011

Убедитесь, что у вас есть эти использования в верхней части

using System.Collections.Generic;
using System.Linq;

Тогда вы можете сделать что-то вроде

var found = ll.FirstOrDefault ( o => o.SomeProperty == 1 );
...