C#的链表方法只有Find和FindLast的功能,然后扩展出FindAll的方法,如下:
public List<LinkedListNode<T>> FindAll<T>(LinkedList<T> bytes, T value)
{
List<LinkedListNode<T>> lists = new List<LinkedListNode<T>>();
LinkedListNode<T> next = bytes.First;
int index = 0;
do
{
index++;
if (next != null)
{
if (next.Value != null)
{
if (next.Value.Equals(value))
{
lists.Add(next);
}
next = next.Next;
}
}
} while (index < bytes.Count);
return lists;
}