LinkedList<T> Classe

Definição

Representa uma lista duplamente vinculada.

generic <typename T>
public ref class LinkedList : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::ICollection
generic <typename T>
public ref class LinkedList : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::ICollection, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
generic <typename T>
public ref class LinkedList : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
generic <typename T>
public ref class LinkedList : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection
public class LinkedList<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
public class LinkedList<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class LinkedList<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class LinkedList<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public class LinkedList<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
type LinkedList<'T> = class
    interface ICollection<'T>
    interface seq<'T>
    interface IEnumerable
    interface IReadOnlyCollection<'T>
    interface ICollection
type LinkedList<'T> = class
    interface ICollection<'T>
    interface seq<'T>
    interface IEnumerable
    interface IReadOnlyCollection<'T>
    interface ICollection
    interface IDeserializationCallback
    interface ISerializable
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type LinkedList<'T> = class
    interface ICollection<'T>
    interface seq<'T>
    interface ICollection
    interface IEnumerable
    interface ISerializable
    interface IDeserializationCallback
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type LinkedList<'T> = class
    interface ICollection<'T>
    interface seq<'T>
    interface IEnumerable
    interface ICollection
    interface IReadOnlyCollection<'T>
    interface ISerializable
    interface IDeserializationCallback
type LinkedList<'T> = class
    interface ICollection<'T>
    interface seq<'T>
    interface ICollection
    interface IEnumerable
Public Class LinkedList(Of T)
Implements ICollection, ICollection(Of T), IEnumerable(Of T), IReadOnlyCollection(Of T)
Public Class LinkedList(Of T)
Implements ICollection, ICollection(Of T), IDeserializationCallback, IEnumerable(Of T), IReadOnlyCollection(Of T), ISerializable
Public Class LinkedList(Of T)
Implements ICollection, ICollection(Of T), IDeserializationCallback, IEnumerable(Of T), ISerializable
Public Class LinkedList(Of T)
Implements ICollection, ICollection(Of T), IEnumerable(Of T)

Parâmetros de tipo

T

Especifica o tipo de elemento da lista vinculada.

Herança
LinkedList<T>
Atributos
Implementações

Exemplos

O exemplo de código a seguir demonstra muitos recursos da LinkedList<T> classe .

#using <System.dll>

using namespace System;
using namespace System::Text;
using namespace System::Collections::Generic;

public ref class Example
{
public:
    static void Main()
    {
        // Create the link list.
        array<String^>^ words =
            { "the", "fox", "jumped", "over", "the", "dog" };
        LinkedList<String^>^ sentence = gcnew LinkedList<String^>(words);
        Display(sentence, "The linked list values:");
        Console::WriteLine("sentence.Contains(\"jumped\") = {0}",
            sentence->Contains("jumped"));

        // Add the word 'today' to the beginning of the linked list.
        sentence->AddFirst("today");
        Display(sentence, "Test 1: Add 'today' to beginning of the list:");

        // Move the first node to be the last node.
        LinkedListNode<String^>^ mark1 = sentence->First;
        sentence->RemoveFirst();
        sentence->AddLast(mark1);
        Display(sentence, "Test 2: Move first node to be last node:");

        // Change the last node to 'yesterday'.
        sentence->RemoveLast();
        sentence->AddLast("yesterday");
        Display(sentence, "Test 3: Change the last node to 'yesterday':");

        // Move the last node to be the first node.
        mark1 = sentence->Last;
        sentence->RemoveLast();
        sentence->AddFirst(mark1);
        Display(sentence, "Test 4: Move last node to be first node:");


        // Indicate the last occurence of 'the'.
        sentence->RemoveFirst();
        LinkedListNode<String^>^ current = sentence->FindLast("the");
        IndicateNode(current, "Test 5: Indicate last occurence of 'the':");

        // Add 'lazy' and 'old' after 'the' (the LinkedListNode named current).
        sentence->AddAfter(current, "old");
        sentence->AddAfter(current, "lazy");
        IndicateNode(current, "Test 6: Add 'lazy' and 'old' after 'the':");

        // Indicate 'fox' node.
        current = sentence->Find("fox");
        IndicateNode(current, "Test 7: Indicate the 'fox' node:");

        // Add 'quick' and 'brown' before 'fox':
        sentence->AddBefore(current, "quick");
        sentence->AddBefore(current, "brown");
        IndicateNode(current, "Test 8: Add 'quick' and 'brown' before 'fox':");

        // Keep a reference to the current node, 'fox',
        // and to the previous node in the list. Indicate the 'dog' node.
        mark1 = current;
        LinkedListNode<String^>^ mark2 = current->Previous;
        current = sentence->Find("dog");
        IndicateNode(current, "Test 9: Indicate the 'dog' node:");

        // The AddBefore method throws an InvalidOperationException
        // if you try to add a node that already belongs to a list.
        Console::WriteLine("Test 10: Throw exception by adding node (fox) already in the list:");
        try
        {
            sentence->AddBefore(current, mark1);
        }
        catch (InvalidOperationException^ ex)
        {
            Console::WriteLine("Exception message: {0}", ex->Message);
        }
        Console::WriteLine();

        // Remove the node referred to by mark1, and then add it
        // before the node referred to by current.
        // Indicate the node referred to by current.
        sentence->Remove(mark1);
        sentence->AddBefore(current, mark1);
        IndicateNode(current, "Test 11: Move a referenced node (fox) before the current node (dog):");

        // Remove the node referred to by current.
        sentence->Remove(current);
        IndicateNode(current, "Test 12: Remove current node (dog) and attempt to indicate it:");

        // Add the node after the node referred to by mark2.
        sentence->AddAfter(mark2, current);
        IndicateNode(current, "Test 13: Add node removed in test 11 after a referenced node (brown):");

        // The Remove method finds and removes the
        // first node that that has the specified value.
        sentence->Remove("old");
        Display(sentence, "Test 14: Remove node that has the value 'old':");

        // When the linked list is cast to ICollection(Of String),
        // the Add method adds a node to the end of the list.
        sentence->RemoveLast();
        ICollection<String^>^ icoll = sentence;
        icoll->Add("rhinoceros");
        Display(sentence, "Test 15: Remove last node, cast to ICollection, and add 'rhinoceros':");

        Console::WriteLine("Test 16: Copy the list to an array:");
        // Create an array with the same number of
        // elements as the inked list.
        array<String^>^ sArray = gcnew array<String^>(sentence->Count);
        sentence->CopyTo(sArray, 0);

        for each (String^ s in sArray)
        {
            Console::WriteLine(s);
        }


        // Release all the nodes.
        sentence->Clear();

        Console::WriteLine();
        Console::WriteLine("Test 17: Clear linked list. Contains 'jumped' = {0}",
            sentence->Contains("jumped"));

        Console::ReadLine();
    }

private:
    static void Display(LinkedList<String^>^ words, String^ test)
    {
        Console::WriteLine(test);
        for each (String^ word in words)
        {
            Console::Write(word + " ");
        }
        Console::WriteLine();
        Console::WriteLine();
    }

    static void IndicateNode(LinkedListNode<String^>^ node, String^ test)
    {
        Console::WriteLine(test);
        if (node->List == nullptr)
        {
            Console::WriteLine("Node '{0}' is not in the list.\n",
                node->Value);
            return;
        }

        StringBuilder^ result = gcnew StringBuilder("(" + node->Value + ")");
        LinkedListNode<String^>^ nodeP = node->Previous;

        while (nodeP != nullptr)
        {
            result->Insert(0, nodeP->Value + " ");
            nodeP = nodeP->Previous;
        }

        node = node->Next;
        while (node != nullptr)
        {
            result->Append(" " + node->Value);
            node = node->Next;
        }

        Console::WriteLine(result);
        Console::WriteLine();
    }
};

int main()
{
    Example::Main();
}

//This code example produces the following output:
//
//The linked list values:
//the fox jumped over the dog

//Test 1: Add 'today' to beginning of the list:
//today the fox jumped over the dog

//Test 2: Move first node to be last node:
//the fox jumped over the dog today

//Test 3: Change the last node to 'yesterday':
//the fox jumped over the dog yesterday

//Test 4: Move last node to be first node:
//yesterday the fox jumped over the dog

//Test 5: Indicate last occurence of 'the':
//the fox jumped over (the) dog

//Test 6: Add 'lazy' and 'old' after 'the':
//the fox jumped over (the) lazy old dog

//Test 7: Indicate the 'fox' node:
//the (fox) jumped over the lazy old dog

//Test 8: Add 'quick' and 'brown' before 'fox':
//the quick brown (fox) jumped over the lazy old dog

//Test 9: Indicate the 'dog' node:
//the quick brown fox jumped over the lazy old (dog)

//Test 10: Throw exception by adding node (fox) already in the list:
//Exception message: The LinkedList node belongs a LinkedList.

//Test 11: Move a referenced node (fox) before the current node (dog):
//the quick brown jumped over the lazy old fox (dog)

//Test 12: Remove current node (dog) and attempt to indicate it:
//Node 'dog' is not in the list.

//Test 13: Add node removed in test 11 after a referenced node (brown):
//the quick brown (dog) jumped over the lazy old fox

//Test 14: Remove node that has the value 'old':
//the quick brown dog jumped over the lazy fox

//Test 15: Remove last node, cast to ICollection, and add 'rhinoceros':
//the quick brown dog jumped over the lazy rhinoceros

//Test 16: Copy the list to an array:
//the
//quick
//brown
//dog
//jumped
//over
//the
//lazy
//rhinoceros

//Test 17: Clear linked list. Contains 'jumped' = False
//
using System;
using System.Text;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create the link list.
        string[] words =
            { "the", "fox", "jumps", "over", "the", "dog" };
        LinkedList<string> sentence = new LinkedList<string>(words);
        Display(sentence, "The linked list values:");

        // Add the word 'today' to the beginning of the linked list.
        sentence.AddFirst("today");
        Display(sentence, "Test 1: Add 'today' to beginning of the list:");

        // Move the first node to be the last node.
        LinkedListNode<string> mark1 = sentence.First;
        sentence.RemoveFirst();
        sentence.AddLast(mark1);
        Display(sentence, "Test 2: Move first node to be last node:");

        // Change the last node to 'yesterday'.
        sentence.RemoveLast();
        sentence.AddLast("yesterday");
        Display(sentence, "Test 3: Change the last node to 'yesterday':");

        // Move the last node to be the first node.
        mark1 = sentence.Last;
        sentence.RemoveLast();
        sentence.AddFirst(mark1);
        Display(sentence, "Test 4: Move last node to be first node:");

        // Indicate the last occurence of 'the'.
        sentence.RemoveFirst();
        LinkedListNode<string> current = sentence.FindLast("the");
        IndicateNode(current, "Test 5: Indicate last occurence of 'the':");

        // Add 'lazy' and 'old' after 'the' (the LinkedListNode named current).
        sentence.AddAfter(current, "old");
        sentence.AddAfter(current, "lazy");
        IndicateNode(current, "Test 6: Add 'lazy' and 'old' after 'the':");

        // Indicate 'fox' node.
        current = sentence.Find("fox");
        IndicateNode(current, "Test 7: Indicate the 'fox' node:");

        // Add 'quick' and 'brown' before 'fox':
        sentence.AddBefore(current, "quick");
        sentence.AddBefore(current, "brown");
        IndicateNode(current, "Test 8: Add 'quick' and 'brown' before 'fox':");

        // Keep a reference to the current node, 'fox',
        // and to the previous node in the list. Indicate the 'dog' node.
        mark1 = current;
        LinkedListNode<string> mark2 = current.Previous;
        current = sentence.Find("dog");
        IndicateNode(current, "Test 9: Indicate the 'dog' node:");

        // The AddBefore method throws an InvalidOperationException
        // if you try to add a node that already belongs to a list.
        Console.WriteLine("Test 10: Throw exception by adding node (fox) already in the list:");
        try
        {
            sentence.AddBefore(current, mark1);
        }
        catch (InvalidOperationException ex)
        {
            Console.WriteLine("Exception message: {0}", ex.Message);
        }
        Console.WriteLine();

        // Remove the node referred to by mark1, and then add it
        // before the node referred to by current.
        // Indicate the node referred to by current.
        sentence.Remove(mark1);
        sentence.AddBefore(current, mark1);
        IndicateNode(current, "Test 11: Move a referenced node (fox) before the current node (dog):");

        // Remove the node referred to by current.
        sentence.Remove(current);
        IndicateNode(current, "Test 12: Remove current node (dog) and attempt to indicate it:");

        // Add the node after the node referred to by mark2.
        sentence.AddAfter(mark2, current);
        IndicateNode(current, "Test 13: Add node removed in test 11 after a referenced node (brown):");

        // The Remove method finds and removes the
        // first node that that has the specified value.
        sentence.Remove("old");
        Display(sentence, "Test 14: Remove node that has the value 'old':");

        // When the linked list is cast to ICollection(Of String),
        // the Add method adds a node to the end of the list.
        sentence.RemoveLast();
        ICollection<string> icoll = sentence;
        icoll.Add("rhinoceros");
        Display(sentence, "Test 15: Remove last node, cast to ICollection, and add 'rhinoceros':");

        Console.WriteLine("Test 16: Copy the list to an array:");
        // Create an array with the same number of
        // elements as the linked list.
        string[] sArray = new string[sentence.Count];
        sentence.CopyTo(sArray, 0);

        foreach (string s in sArray)
        {
            Console.WriteLine(s);
        }

        Console.WriteLine("Test 17: linked list Contains 'jumps' = {0}",
            sentence.Contains("jumps"));
        
        // Release all the nodes.
        sentence.Clear();

        Console.WriteLine();
        Console.WriteLine("Test 18: Cleared linked list Contains 'jumps' = {0}",
            sentence.Contains("jumps"));

        Console.ReadLine();
    }

    private static void Display(LinkedList<string> words, string test)
    {
        Console.WriteLine(test);
        foreach (string word in words)
        {
            Console.Write(word + " ");
        }
        Console.WriteLine();
        Console.WriteLine();
    }

    private static void IndicateNode(LinkedListNode<string> node, string test)
    {
        Console.WriteLine(test);
        if (node.List == null)
        {
            Console.WriteLine("Node '{0}' is not in the list.\n",
                node.Value);
            return;
        }

        StringBuilder result = new StringBuilder("(" + node.Value + ")");
        LinkedListNode<string> nodeP = node.Previous;

        while (nodeP != null)
        {
            result.Insert(0, nodeP.Value + " ");
            nodeP = nodeP.Previous;
        }

        node = node.Next;
        while (node != null)
        {
            result.Append(" " + node.Value);
            node = node.Next;
        }

        Console.WriteLine(result);
        Console.WriteLine();
    }
}

//This code example produces the following output:
//
//The linked list values:
//the fox jumps over the dog

//Test 1: Add 'today' to beginning of the list:
//today the fox jumps over the dog

//Test 2: Move first node to be last node:
//the fox jumps over the dog today

//Test 3: Change the last node to 'yesterday':
//the fox jumps over the dog yesterday

//Test 4: Move last node to be first node:
//yesterday the fox jumps over the dog

//Test 5: Indicate last occurence of 'the':
//the fox jumps over (the) dog

//Test 6: Add 'lazy' and 'old' after 'the':
//the fox jumps over (the) lazy old dog

//Test 7: Indicate the 'fox' node:
//the (fox) jumps over the lazy old dog

//Test 8: Add 'quick' and 'brown' before 'fox':
//the quick brown (fox) jumps over the lazy old dog

//Test 9: Indicate the 'dog' node:
//the quick brown fox jumps over the lazy old (dog)

//Test 10: Throw exception by adding node (fox) already in the list:
//Exception message: The LinkedList node belongs a LinkedList.

//Test 11: Move a referenced node (fox) before the current node (dog):
//the quick brown jumps over the lazy old fox (dog)

//Test 12: Remove current node (dog) and attempt to indicate it:
//Node 'dog' is not in the list.

//Test 13: Add node removed in test 11 after a referenced node (brown):
//the quick brown (dog) jumps over the lazy old fox

//Test 14: Remove node that has the value 'old':
//the quick brown dog jumps over the lazy fox

//Test 15: Remove last node, cast to ICollection, and add 'rhinoceros':
//the quick brown dog jumps over the lazy rhinoceros

//Test 16: Copy the list to an array:
//the
//quick
//brown
//dog
//jumps
//over
//the
//lazy
//rhinoceros

//Test 17: linked list Contains 'jumps'= True

//Test 18: Cleared linked list Contains 'jumps'  = False
//
Imports System.Text
Imports System.Collections.Generic
Public Class Example

    Public Shared Sub Main()
        ' Create the link list.
        Dim words() As String = {"the", "fox", _
            "jumps", "over", "the", "dog"}
        Dim sentence As New LinkedList(Of String)(words)
        Console.WriteLine("sentence.Contains(""jumps"") = {0}", _
            sentence.Contains("jumps"))
        Display(sentence, "The linked list values:")
        ' Add the word 'today' to the beginning of the linked list.
        sentence.AddFirst("today")
        Display(sentence, "Test 1: Add 'today' to beginning of the list:")
        ' Move the first node to be the last node.
        Dim mark1 As LinkedListNode(Of String) = sentence.First
        sentence.RemoveFirst()
        sentence.AddLast(mark1)
        Display(sentence, "Test 2: Move first node to be last node:")
        ' Change the last node to 'yesterday'.
        sentence.RemoveLast()
        sentence.AddLast("yesterday")
        Display(sentence, "Test 3: Change the last node to 'yesterday':")
        ' Move the last node to be the first node.
        mark1 = sentence.Last
        sentence.RemoveLast()
        sentence.AddFirst(mark1)
        Display(sentence, "Test 4: Move last node to be first node:")
        ' Indicate the last occurence of 'the'.
        sentence.RemoveFirst()
        Dim current As LinkedListNode(Of String) = sentence.FindLast("the")
        IndicateNode(current, "Test 5: Indicate last occurence of 'the':")
        ' Add 'lazy' and 'old' after 'the' (the LinkedListNode named current).
        sentence.AddAfter(current, "old")
        sentence.AddAfter(current, "lazy")
        IndicateNode(current, "Test 6: Add 'lazy' and 'old' after 'the':")
        ' Indicate 'fox' node.
        current = sentence.Find("fox")
        IndicateNode(current, "Test 7: Indicate the 'fox' node:")
        ' Add 'quick' and 'brown' before 'fox':
        sentence.AddBefore(current, "quick")
        sentence.AddBefore(current, "brown")
        IndicateNode(current, "Test 8: Add 'quick' and 'brown' before 'fox':")
        ' Keep a reference to the current node, 'fox',
        ' and to the previous node in the list. Indicate the 'dog' node.
        mark1 = current
        Dim mark2 As LinkedListNode(Of String) = current.Previous
        current = sentence.Find("dog")
        IndicateNode(current, "Test 9: Indicate the 'dog' node:")
        ' The AddBefore method throws an InvalidOperationException
        ' if you try to add a node that already belongs to a list.
        Console.WriteLine("Test 10: Throw exception by adding node (fox) already in the list:")
        Try
            sentence.AddBefore(current, mark1)
        Catch ex As InvalidOperationException
            Console.WriteLine("Exception message: {0}", ex.Message)
        End Try
        Console.WriteLine()
        ' Remove the node referred to by mark1, and then add it
        ' before the node referred to by current.
        ' Indicate the node referred to by current.
        sentence.Remove(mark1)
        sentence.AddBefore(current, mark1)
        IndicateNode(current, "Test 11: Move a referenced node (fox) before the current node (dog):")
        ' Remove the node referred to by current. 
        sentence.Remove(current)
        IndicateNode(current, "Test 12: Remove current node (dog) and attempt to indicate it:")
        ' Add the node after the node referred to by mark2.
        sentence.AddAfter(mark2, current)
        IndicateNode(current, "Test 13: Add node removed in test 11 after a referenced node (brown):")
        ' The Remove method finds and removes the
        ' first node that that has the specified value.
        sentence.Remove("old")
        Display(sentence, "Test 14: Remove node that has the value 'old':")
        ' When the linked list is cast to ICollection(Of String),
        ' the Add method adds a node to the end of the list.
        sentence.RemoveLast()
        Dim icoll As ICollection(Of String) = sentence
        icoll.Add("rhinoceros")
        Display(sentence, "Test 15: Remove last node, cast to ICollection, and add 'rhinoceros':")
        Console.WriteLine("Test 16: Copy the list to an array:")
        ' Create an array with the same number of
        ' elements as the inked list.
        Dim sArray() As String = New String((sentence.Count) - 1) {}
        sentence.CopyTo(sArray, 0)
        For Each s As String In sArray
            Console.WriteLine(s)
        Next

        ' Release all the nodes.
        sentence.Clear()
        Console.WriteLine()
        Console.WriteLine("Test 17: Clear linked list. Contains 'jumps' = {0}", sentence.Contains("jumps"))
        Console.ReadLine()
    End Sub

    Private Shared Sub Display(ByVal words As LinkedList(Of String), ByVal test As String)
        Console.WriteLine(test)
        For Each word As String In words
            Console.Write((word + " "))
        Next
        Console.WriteLine()
        Console.WriteLine()
    End Sub

    Private Shared Sub IndicateNode(ByVal node As LinkedListNode(Of String), ByVal test As String)
        Console.WriteLine(test)
        If IsNothing(node.List) Then
            Console.WriteLine("Node '{0}' is not in the list." & vbLf, node.Value)
            Return
        End If
        Dim result As StringBuilder = New StringBuilder(("(" _
                        + (node.Value + ")")))
        Dim nodeP As LinkedListNode(Of String) = node.Previous

        While (Not (nodeP) Is Nothing)
            result.Insert(0, (nodeP.Value + " "))
            nodeP = nodeP.Previous

        End While
        node = node.Next

        While (Not (node) Is Nothing)
            result.Append((" " + node.Value))
            node = node.Next

        End While
        Console.WriteLine(result)
        Console.WriteLine()
    End Sub
End Class
'This code example produces the following output:
'
'The linked list values:
'the fox jumps over the dog 
'Test 1: Add 'today' to beginning of the list:
'today the fox jumps over the dog

'Test 2: Move first node to be last node:
'the fox jumps over the dog today

'Test 3: Change the last node to 'yesterday':
'the fox jumps over the dog yesterday

'Test 4: Move last node to be first node:
'yesterday the fox jumps over the dog

'Test 5: Indicate last occurence of 'the':
'the fox jumps over (the) dog

'Test 6: Add 'lazy' and 'old' after 'the':
'the fox jumps over (the) lazy old dog

'Test 7: Indicate the 'fox' node:
'the (fox) jumps over the lazy old dog

'Test 8: Add 'quick' and 'brown' before 'fox':
'the quick brown (fox) jumps over the lazy old dog

'Test 9: Indicate the 'dog' node:
'the quick brown fox jumps over the lazy old (dog)

'Test 10: Throw exception by adding node (fox) already in the list:
'Exception message: The LinkedList node belongs a LinkedList.

'Test 11: Move a referenced node (fox) before the current node (dog):
'the quick brown jumps over the lazy old fox (dog)

'Test 12: Remove current node (dog) and attempt to indicate it:
'Node 'dog' is not in the list.

'Test 13: Add node removed in test 11 after a referenced node (brown):
'the quick brown (dog) jumps over the lazy old fox

'Test 14: Remove node that has the value 'old':
'the quick brown dog jumps over the lazy fox 

'Test 15: Remove last node, cast to ICollection, and add 'rhinoceros':
'the quick brown dog jumps over the lazy rhinoceros

'Test 16: Copy the list to an array:
'the
'quick
'brown
'dog
'jumps
'over
'the
'lazy
'rhinoceros

'Test 17: Clear linked list. Contains 'jumps' = False
'

Comentários

LinkedList<T> é uma lista vinculada de uso geral. Ele dá suporte a enumeradores e implementa a ICollection interface , consistente com outras classes de coleção no .NET Framework.

LinkedList<T> fornece nós separados do tipo LinkedListNode<T>, portanto, inserção e remoção são operações O(1).

Você pode remover nós e reinseri-los, na mesma lista ou em outra lista, o que resulta em nenhum objeto adicional alocado no heap. Como a lista também mantém uma contagem interna, obter a Count propriedade é uma operação O(1).

Cada nó em um LinkedList<T> objeto é do tipo LinkedListNode<T>. Como o LinkedList<T> está duplamente vinculado, cada nó aponta para frente para o Next nó e para trás para o Previous nó.

As listas que contêm tipos de referência têm melhor desempenho quando um nó e seu valor são criados ao mesmo tempo. LinkedList<T>null aceita como uma propriedade válida Value para tipos de referência e permite valores duplicados.

Caso LinkedList<T> esteja vazio, as propriedades First e Last contêm null.

A LinkedList<T> classe não dá suporte a encadeamento, divisão, ciclos ou outros recursos que podem deixar a lista em um estado inconsistente. A lista permanece consistente em um único thread. O único cenário multithread suportado por LinkedList<T> é operações de leitura multithreaded.

Construtores

LinkedList<T>()

Inicializa uma nova instância da classe LinkedList<T> que está vazia.

LinkedList<T>(IEnumerable<T>)

Inicializa uma nova instância da classe LinkedList<T>, que contém os elementos copiados do IEnumerable especificado e tem capacidade suficiente para acomodar o número de elementos copiados.

LinkedList<T>(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da classe LinkedList<T> que pode ser serializada com o SerializationInfo e o StreamingContext especificados.

Propriedades

Count

Obtém o número de nós que realmente estão contidos na LinkedList<T>.

First

Obtém o primeiro nó do LinkedList<T>.

Last

Obtém o último nó da LinkedList<T>.

Métodos

AddAfter(LinkedListNode<T>, LinkedListNode<T>)

Adiciona o novo nó especificado após o nó especificado existente no LinkedList<T>.

AddAfter(LinkedListNode<T>, T)

Adiciona um novo nó que contém o valor especificado após o nó existente especificado no LinkedList<T>.

AddBefore(LinkedListNode<T>, LinkedListNode<T>)

Adiciona o novo nó especificado antes do nó existente especificado no LinkedList<T>.

AddBefore(LinkedListNode<T>, T)

Adiciona um novo nó que contém o valor especificado antes do nó existente especificado no LinkedList<T>.

AddFirst(LinkedListNode<T>)

Adiciona o novo nó especificado ao início do LinkedList<T>.

AddFirst(T)

Adiciona um novo nó que contém o valor especificado no início da LinkedList<T>.

AddLast(LinkedListNode<T>)

Adiciona o novo nó especificado no final de LinkedList<T>.

AddLast(T)

Adiciona um novo nó que contém o valor especificado no final do LinkedList<T>.

Clear()

Remove todos os nós de LinkedList<T>.

Contains(T)

Determina se um valor está no LinkedList<T>.

CopyTo(T[], Int32)

Copia todo o LinkedList<T> em um Array unidimensional compatível, começando no índice especificado da matriz de destino.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Find(T)

Encontra o primeiro nó que contém o valor especificado.

FindLast(T)

Localiza o último nó que contém o valor especificado.

GetEnumerator()

Retorna um enumerador que itera por meio de LinkedList<T>.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Implementa a interface ISerializable e retorna os dados necessários para serializar a instância LinkedList<T>.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnDeserialization(Object)

Implementa a interface ISerializable e gera o evento de desserialização quando a desserialização for concluída.

Remove(LinkedListNode<T>)

Remove o nó especificado do LinkedList<T>.

Remove(T)

Remove a primeira ocorrência do valor especificado do LinkedList<T>.

RemoveFirst()

Remove o nó no início do LinkedList<T>.

RemoveLast()

Remove o nó no final do LinkedList<T>.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Copia os elementos do ICollection para um Array, começando em um determinado índice Array.

ICollection.IsSynchronized

Obtém um valor que indica se o acesso à ICollection é sincronizado (thread-safe).

ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso ao ICollection.

ICollection<T>.Add(T)

Adiciona um item ao final de ICollection<T>.

ICollection<T>.IsReadOnly

Obtém um valor que indica se o ICollection<T> é somente leitura.

IEnumerable.GetEnumerator()

Retorna um enumerador que itera através da lista vinculada como uma coleção.

IEnumerable<T>.GetEnumerator()

Retorna um enumerador que itera em uma coleção.

Métodos de Extensão

ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Cria um FrozenDictionary<TKey,TValue> de uma IEnumerable<T> função de seletor de chave especificada.

ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Cria um FrozenDictionary<TKey,TValue> de um IEnumerable<T>, de acordo com as funções especificadas de seletor de chave e seletor de elemento.

ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>)

Cria um FrozenSet<T> com os valores especificados.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Cria uma matriz imutável com base na coleção especificada.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Constrói um dicionário imutável de uma coleção existente de elementos, aplicando uma função de transformação nas chaves de origem.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Constrói um dicionário imutável com base em alguma transformação de uma sequência.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Enumera e transforma uma sequência e produz um dicionário imutável com base em seu conteúdo.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>)

Enumera e transforma uma sequência e produz um dicionário imutável com base em seu conteúdo usando o comparador de chave especificado.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>)

Enumera e transforma uma sequência e produz um dicionário imutável com base em seu conteúdo usando os comparadores de chave e valor especificados.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Enumera uma sequência e produz um conjunto de hash imutável de seu conteúdo.

ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Enumera uma sequência, produz um conjunto de hash imutável de seu conteúdo e usa o comparador de igualdade especificado para o tipo de conjunto.

ToImmutableList<TSource>(IEnumerable<TSource>)

Enumera uma sequência e produz uma lista imutável de seu conteúdo.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Enumera e transforma uma sequência e produz um dicionário classificado imutável com base em seu conteúdo.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>)

Enumera e transforma uma sequência e produz um dicionário classificado imutável com base em seu conteúdo usando o comparador de chave especificado.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>)

Enumera e transforma uma sequência e produz um dicionário classificado imutável com base em seu conteúdo usando os comparadores de chave e valor especificados.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Enumera uma sequência e produz um conjunto classificado imutável de seu conteúdo.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Enumera uma sequência, produz um conjunto classificado imutável de seu conteúdo e usa o comparador especificado.

CopyToDataTable<T>(IEnumerable<T>)

Retorna um DataTable que contém cópias dos objetos DataRow, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico T é DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico T é DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico T é DataRow.

Aggregate<TSource>(IEnumerable<TSource>, Func<TSource,TSource,TSource>)

Aplica uma função de acumulador a uma sequência.

Aggregate<TSource,TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>)

Aplica uma função de acumulador a uma sequência. O valor de semente especificado é usado como o valor inicial do acumulador.

Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>)

Aplica uma função de acumulador a uma sequência. O valor de semente especificado é usado como o valor inicial do acumulador e a função especificada é usada para selecionar o valor do resultado.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Representa uma lista duplamente vinculada.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Representa uma lista duplamente vinculada.

All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Determina se todos os elementos de uma sequência atendem a uma condição.

Any<TSource>(IEnumerable<TSource>)

Determina se uma sequência contém elementos.

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Determina se algum elemento de uma sequência atende a uma condição.

Append<TSource>(IEnumerable<TSource>, TSource)

Acrescenta um valor ao final da sequência.

AsEnumerable<TSource>(IEnumerable<TSource>)

Retorna a entrada digitada como IEnumerable<T>.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Calcula a média de uma sequência de valores Decimal obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Calcula a média de uma sequência de valores Double obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Calcula a média de uma sequência de valores Int32 obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Calcula a média de uma sequência de valores Int64 obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Calcula a média de uma sequência de valores Decimal que permitem valor nulo obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Calcula a média de uma sequência de valores Double que permitem valor nulo obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Calcula a média de uma sequência de valores Int32 que permitem valor nulo obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Calcula a média de uma sequência de valores Int64 que permitem valor nulo obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Calcula a média de uma sequência de valores Single que permitem valor nulo obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Calcula a média de uma sequência de valores Single obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

Chunk<TSource>(IEnumerable<TSource>, Int32)

Divide os elementos de uma sequência em partes de tamanho no máximo size.

Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Concatena duas sequências.

Contains<TSource>(IEnumerable<TSource>, TSource)

Determina se uma sequência contém um elemento especificado usando o comparador de igualdade padrão.

Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>)

Determina se uma sequência contém um elemento especificado usando um IEqualityComparer<T> especificado.

Count<TSource>(IEnumerable<TSource>)

Retorna o número de elementos em uma sequência.

Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna um número que representa quantos elementos na sequência especificada atendem a uma condição.

CountBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Representa uma lista duplamente vinculada.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Retornará os elementos da sequência especificada ou o valor padrão do parâmetro de tipo em uma coleção de singletons se a sequência estiver vazia.

DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)

Retorna os elementos da sequência especificada ou o valor especificado em uma coleção de singletons se a sequência está vazia.

Distinct<TSource>(IEnumerable<TSource>)

Retorna os elementos distintos de uma sequência usando o comparador de igualdade padrão para comparar valores.

Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Retorna os elementos distintos de uma sequência usando um IEqualityComparer<T> especificado para comparar valores.

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Retorna elementos distintos de uma sequência de acordo com uma função de seletor de chave especificada.

DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Retorna elementos distintos de uma sequência de acordo com uma função de seletor de chave especificada e usando um comparador especificado para comparar chaves.

ElementAt<TSource>(IEnumerable<TSource>, Index)

Retorna o elemento de um índice especificado em uma sequência.

ElementAt<TSource>(IEnumerable<TSource>, Int32)

Retorna o elemento de um índice especificado em uma sequência.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Index)

Retorna o elemento em um índice especificado em uma sequência ou um valor padrão se o índice estiver fora do intervalo.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32)

Retorna o elemento em um índice especificado em uma sequência ou um valor padrão se o índice estiver fora do intervalo.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produz a diferença de conjunto de duas sequências usando o comparador de igualdade padrão para comparar os valores.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produz a diferença de conjunto de duas sequências usando o IEqualityComparer<T> especificado para comparar os valores.

ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>)

Produz a diferença de conjunto de duas sequências de acordo com uma função de seletor de chave especificada.

ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Produz a diferença de conjunto de duas sequências de acordo com uma função de seletor de chave especificada.

First<TSource>(IEnumerable<TSource>)

Retorna o primeiro elemento de uma sequência.

First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna o primeiro elemento em uma sequência que satisfaz uma condição especificada.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Retorna o primeiro elemento de uma sequência ou um valor padrão se a sequência não contém elementos.

FirstOrDefault<TSource>(IEnumerable<TSource>, TSource)

Retorna o primeiro elemento de uma sequência ou um valor padrão especificado se a sequência não contiver elementos.

FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna o primeiro elemento da sequência que satisfaz uma condição ou um valor padrão, caso esse elemento não seja encontrado.

FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource)

Retorna o primeiro elemento da sequência que atende a uma condição ou um valor padrão especificado se nenhum elemento desse tipo for encontrado.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Agrupa os elementos de uma sequência de acordo com uma função de seletor de chave especificada.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função do seletor de chave especificada e compara as chaves usando um comparador especificado.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Agrupa os elementos de uma sequência de acordo com a função de seletor de chave especificada e projeta os elementos de cada grupo usando uma função especificada.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função de seletor de chave. As chaves são comparadas usando um comparador e os elementos de cada grupo são projetados usando uma função especificada.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>)

Agrupa os elementos de uma sequência de acordo com uma função do seletor de chave especificada e cria um valor de resultado de cada grupo e sua chave.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função do seletor de chave especificada e cria um valor de resultado de cada grupo e sua chave. As chaves são comparadas usando um comparador especificado.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>,TResult>)

Agrupa os elementos de uma sequência de acordo com uma função do seletor de chave especificada e cria um valor de resultado de cada grupo e sua chave. Os elementos de cada grupo são projetados usando uma função especificada.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função do seletor de chave especificada e cria um valor de resultado de cada grupo e sua chave. Os valores da chave são comparados usando um comparador especificado e os elementos de cada grupo são projetados usando uma função especificada.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)

Correlaciona os elementos de duas sequências com base na igualdade de chaves e agrupa os resultados. O comparador de igualdade padrão é usado para comparar chaves.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Correlaciona os elementos de duas sequências com base na igualdade de chaves e agrupa os resultados. Um IEqualityComparer<T> especificado é usado para comparar chaves.

Index<TSource>(IEnumerable<TSource>)

Representa uma lista duplamente vinculada.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produz a interseção de conjunto de duas sequências usando o comparador de igualdade padrão para comparar os valores.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produz a interseção de conjunto de duas sequências usando o IEqualityComparer<T> especificado para comparar os valores.

IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>)

Produz a interseção definida de duas sequências de acordo com uma função de seletor de chave especificada.

IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Produz a interseção definida de duas sequências de acordo com uma função de seletor de chave especificada.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>)

Correlaciona os elementos de duas sequências com base em chaves de correspondência. O comparador de igualdade padrão é usado para comparar chaves.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>)

Correlaciona os elementos de duas sequências com base em chaves de correspondência. Um IEqualityComparer<T> especificado é usado para comparar chaves.

Last<TSource>(IEnumerable<TSource>)

Retorna o último elemento de uma sequência.

Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna o último elemento de uma sequência que satisfaz uma condição especificada.

LastOrDefault<TSource>(IEnumerable<TSource>)

Retorna o último elemento de uma sequência ou um valor padrão se a sequência não contém elementos.

LastOrDefault<TSource>(IEnumerable<TSource>, TSource)

Retorna o último elemento de uma sequência ou um valor padrão especificado se a sequência não contiver elementos.

LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna o último elemento de uma sequência que satisfaz uma condição ou um valor padrão, caso esse elemento não seja encontrado.

LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource)

Retorna o último elemento de uma sequência que atende a uma condição ou um valor padrão especificado se nenhum elemento desse tipo for encontrado.

LongCount<TSource>(IEnumerable<TSource>)

Retorna um Int64 que representa o número total de elementos em uma sequência.

LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna um Int64 que representa quantos elementos na sequência atendem a uma condição.

Max<TSource>(IEnumerable<TSource>)

Retorna o valor máximo em uma sequência genérica.

Max<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Retorna o valor máximo em uma sequência genérica.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Decimal máximo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Double máximo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int32 máximo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int64 máximo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Decimal máximo que permite valor nulo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Double máximo que permite valor nulo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int32 máximo que permite valor nulo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int64 máximo que permite valor nulo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Single máximo que permite valor nulo.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Single máximo.

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Invoca uma função de transformação em cada elemento de uma sequência genérica e retorna o maior valor resultante.

MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Retorna o valor máximo em uma sequência genérica de acordo com uma função de seletor de chave especificada.

MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Retorna o valor máximo em uma sequência genérica de acordo com uma função de seletor de chave especificada e um comparador de chave.

Min<TSource>(IEnumerable<TSource>)

Retorna o valor mínimo em uma sequência genérica.

Min<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Retorna o valor mínimo em uma sequência genérica.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Decimal mínimo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Double mínimo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int32 mínimo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int64 mínimo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Decimal mínimo que permite valor nulo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Double mínimo que permite valor nulo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int32 mínimo que permite valor nulo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Int64 mínimo que permite valor nulo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Single mínimo que permite valor nulo.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Invoca uma função de transformação em cada elemento de uma sequência e retorna o valor Single mínimo.

Min<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Invoca uma função de transformação em cada elemento de uma sequência genérica e retorna o menor valor resultante.

MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Retorna o valor mínimo em uma sequência genérica de acordo com uma função de seletor de chave especificada.

MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Retorna o valor mínimo em uma sequência genérica de acordo com uma função de seletor de chave especificada e um comparador de chave.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

Order<T>(IEnumerable<T>)

Classifica os elementos de uma sequência em ordem crescente.

Order<T>(IEnumerable<T>, IComparer<T>)

Classifica os elementos de uma sequência em ordem crescente.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Classifica os elementos de uma sequência em ordem crescente de acordo com uma chave.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Classifica os elementos de uma sequência em ordem crescente usando um comparador especificado.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Classifica os elementos de uma sequência em ordem decrescente de acordo com uma chave.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Classifica os elementos de uma sequência em ordem decrescente usando um comparador especificado.

OrderDescending<T>(IEnumerable<T>)

Classifica os elementos de uma sequência em ordem decrescente.

OrderDescending<T>(IEnumerable<T>, IComparer<T>)

Classifica os elementos de uma sequência em ordem decrescente.

Prepend<TSource>(IEnumerable<TSource>, TSource)

Adiciona um valor ao início da sequência.

Reverse<TSource>(IEnumerable<TSource>)

Inverte a ordem dos elementos em uma sequência.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Projeta cada elemento de uma sequência em um novo formulário.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>)

Projeta cada elemento de uma sequência em um novo formulário, incorporando o índice do elemento.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>)

Projeta cada elemento de uma sequência em um IEnumerable<T> e nivela as sequências resultantes em uma sequência.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TResult>>)

Projeta cada elemento de uma sequência em um IEnumerable<T> e nivela as sequências resultantes em uma sequência. O índice de cada elemento de origem é usado no formulário projetado desse elemento.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Projeta cada elemento de uma sequência em um IEnumerable<T>, mescla as sequências resultantes em uma sequência e chama uma função de seletor de resultado em cada elemento contido nele.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Projeta cada elemento de uma sequência em um IEnumerable<T>, mescla as sequências resultantes em uma sequência e chama uma função de seletor de resultado em cada elemento contido nele. O índice de cada elemento de origem é usado no formulário projetado intermediário do elemento.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Determina se duas sequências são iguais comparando os elementos usando o comparador de igualdade padrão para o tipo.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Determina se duas sequências são iguais, comparando seus elementos usando um IEqualityComparer<T> especificado.

Single<TSource>(IEnumerable<TSource>)

Retornará o único elemento de uma sequência e lançará uma exceção se não houver exatamente um elemento na sequência.

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna o único elemento de uma sequência que satisfaz uma condição especificada e gera uma exceção se houver mais de um tal elemento.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Retorna o único elemento de uma sequência ou um valor padrão se a sequência é vazia; esse método gera uma exceção se há mais de um elemento na sequência.

SingleOrDefault<TSource>(IEnumerable<TSource>, TSource)

Retorna o único elemento de uma sequência ou um valor padrão especificado se a sequência estiver vazia; esse método gerará uma exceção se houver mais de um elemento na sequência.

SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna o único elemento de uma sequência que satisfaz uma condição especificada ou um valor padrão se esse elemento não existir. Esse método lança uma exceção se mais de um elemento satisfizer a condição.

SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource)

Retorna o único elemento de uma sequência que atende a uma condição especificada ou um valor padrão especificado se nenhum elemento desse tipo existir; esse método gerará uma exceção se mais de um elemento atender à condição.

Skip<TSource>(IEnumerable<TSource>, Int32)

Ignora um número especificado de elementos em uma sequência e retorna os elementos restantes.

SkipLast<TSource>(IEnumerable<TSource>, Int32)

Retorna uma nova coleção enumerável que contém os elementos de source com os últimos elementos de count da coleção de origem omitidos.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Ignora elementos em uma sequência, contanto que uma condição especificada seja verdadeira e retorne os elementos restantes.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Ignora elementos em uma sequência, contanto que uma condição especificada seja verdadeira e retorne os elementos restantes. O índice do elemento é usado na lógica da função de predicado.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Calcula a soma da sequência de valores Decimal obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Calcula a soma da sequência de valores Double obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Calcula a soma da sequência de valores Int32 obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Calcula a soma da sequência de valores Int64 obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Calcula a soma da sequência de valores Decimal anuláveis obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Calcula a soma da sequência de valores Double anuláveis obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Calcula a soma da sequência de valores Int32 anuláveis obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Calcula a soma da sequência de valores Int64 anuláveis obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Calcula a soma da sequência de valores Single anuláveis obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Calcula a soma da sequência de valores Single obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Take<TSource>(IEnumerable<TSource>, Int32)

Retorna um número especificado de elementos contíguos do início de uma sequência.

Take<TSource>(IEnumerable<TSource>, Range)

Retorna um intervalo especificado de elementos contíguos de uma sequência.

TakeLast<TSource>(IEnumerable<TSource>, Int32)

Retorna uma nova coleção enumerável que contém os últimos elementos de count de source.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Retorna os elementos de uma sequência contanto que uma condição especificada seja verdadeira.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Retorna os elementos de uma sequência contanto que uma condição especificada seja verdadeira. O índice do elemento é usado na lógica da função de predicado.

ToArray<TSource>(IEnumerable<TSource>)

Cria uma matriz de um IEnumerable<T>.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Cria um Dictionary<TKey,TValue> de um IEnumerable<T>, de acordo com uma função de seletor de chave especificada.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Cria um Dictionary<TKey,TValue> de um IEnumerable<T>, de acordo com uma função de seletor de chave especificada e um comparador de chaves.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Cria um Dictionary<TKey,TValue> de um IEnumerable<T>, de acordo com as funções especificadas de seletor de chave e seletor de elemento.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Cria um Dictionary<TKey,TValue> de um IEnumerable<T> de acordo com uma função de seletor de chave, um comparador e uma função de seletor de elemento especificados.

ToHashSet<TSource>(IEnumerable<TSource>)

Cria um HashSet<T> de um IEnumerable<T>.

ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Cria um HashSet<T> de um IEnumerable<T> usando o comparer para comparar chaves.

ToList<TSource>(IEnumerable<TSource>)

Cria um List<T> de um IEnumerable<T>.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Cria um Lookup<TKey,TElement> de um IEnumerable<T>, de acordo com uma função de seletor de chave especificada.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Cria um Lookup<TKey,TElement> de um IEnumerable<T>, de acordo com uma função de seletor de chave especificada e um comparador de chaves.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Cria um Lookup<TKey,TElement> de um IEnumerable<T>, de acordo com as funções especificadas de seletor de chave e seletor de elemento.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Cria um Lookup<TKey,TElement> de um IEnumerable<T> de acordo com uma função de seletor de chave, um comparador e uma função de seletor de elemento especificados.

TryGetNonEnumeratedCount<TSource>(IEnumerable<TSource>, Int32)

Tenta determinar o número de elementos em uma sequência sem forçar uma enumeração.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produz a união de conjunto de duas sequências usando o comparador de igualdade padrão.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produz a união de conjunto de duas sequências usando o IEqualityComparer<T> especificado.

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>)

Produz a união definida de duas sequências de acordo com uma função de seletor de chave especificada.

UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Produz a união definida de duas sequências de acordo com uma função de seletor de chave especificada.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Filtra uma sequência de valores com base em um predicado.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Filtra uma sequência de valores com base em um predicado. O índice de cada elemento é usado na lógica da função de predicado.

Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>)

Produz uma sequência de tuplas com elementos das duas sequências especificadas.

Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)

Produz uma sequência de tuplas com elementos das três sequências especificadas.

Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)

Aplica uma função especificada para os elementos correspondentes de duas sequências, produzindo uma sequência dos resultados.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsParallel<TSource>(IEnumerable<TSource>)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Converte um IEnumerable<T> genérico em um IQueryable<T> genérico.

Ancestors<T>(IEnumerable<T>)

Retorna uma coleção de elementos que contém os ancestrais de cada nó na coleção de origem.

Ancestors<T>(IEnumerable<T>, XName)

Retorna uma coleção filtrada de elementos que contém os ancestrais de cada nó na coleção de origem. Somente os elementos que têm um XName correspondente são incluídos na coleção.

DescendantNodes<T>(IEnumerable<T>)

Retorna uma coleção dos nós descendentes de todos os documentos e elementos na coleção de origem.

Descendants<T>(IEnumerable<T>)

Retorna uma coleção de elementos que contém os elementos descendentes de cada elemento e o documento na coleção de origem.

Descendants<T>(IEnumerable<T>, XName)

Retorna uma coleção filtrada de elementos que contém os elementos descendentes de cada elemento e o documento na coleção de origem. Somente os elementos que têm um XName correspondente são incluídos na coleção.

Elements<T>(IEnumerable<T>)

Retorna uma coleção dos filhos elementos de cada elemento e o documento na coleção de origem.

Elements<T>(IEnumerable<T>, XName)

Retorna uma coleção filtrada dos elementos filho de cada elemento e documento na coleção de origem. Somente os elementos que têm um XName correspondente são incluídos na coleção.

InDocumentOrder<T>(IEnumerable<T>)

Retorna uma coleção de nós que contém todos os nós na coleção de origem, classificados em ordem segundo o documento.

Nodes<T>(IEnumerable<T>)

Retorna uma coleção dos nós filhos de todos os documentos e elementos na coleção de origem.

Remove<T>(IEnumerable<T>)

Remove todos os nós na coleção de origem do respectivo nó pai.

Aplica-se a

Acesso thread-safe

Este tipo não é thread-safe. Se o LinkedList<T> precisar ser acessado por vários threads, você precisará implementar seu próprio mecanismo de sincronização.

Um LinkedList<T> pode dar suporte a vários leitores simultaneamente, desde que a coleção não seja modificada. Mesmo assim, enumerar por meio de uma coleção não é intrinsecamente um procedimento thread-safe. No caso raro em que uma enumeração enfrenta acessos de gravação, a coleção deve ser bloqueada durante toda a enumeração. Para permitir que a coleção seja acessada por vários threads para leitura e gravação, você deve implementar sua própria sincronização.

Confira também