Condividi tramite


SortedList<TKey,TValue> Classe

Definizione

Rappresenta una raccolta di coppie chiave/valore ordinate in base alla chiave in base all'implementazione di IComparer<T> associata.

generic <typename TKey, typename TValue>
public ref class SortedList : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IDictionary<TKey, TValue>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyCollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyDictionary<TKey, TValue>, System::Collections::IDictionary
generic <typename TKey, typename TValue>
public ref class SortedList : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IDictionary<TKey, TValue>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::IDictionary
public class SortedList<TKey,TValue> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IDictionary<TKey,TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyCollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>, System.Collections.IDictionary
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class SortedList<TKey,TValue> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IDictionary<TKey,TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.IDictionary
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class SortedList<TKey,TValue> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IDictionary<TKey,TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyCollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>, System.Collections.IDictionary
type SortedList<'Key, 'Value> = class
    interface ICollection<KeyValuePair<'Key, 'Value>>
    interface seq<KeyValuePair<'Key, 'Value>>
    interface IEnumerable
    interface IDictionary<'Key, 'Value>
    interface IReadOnlyCollection<KeyValuePair<'Key, 'Value>>
    interface IReadOnlyDictionary<'Key, 'Value>
    interface ICollection
    interface IDictionary
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type SortedList<'Key, 'Value> = class
    interface IDictionary<'Key, 'Value>
    interface ICollection<KeyValuePair<'Key, 'Value>>
    interface seq<KeyValuePair<'Key, 'Value>>
    interface IDictionary
    interface ICollection
    interface IEnumerable
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type SortedList<'Key, 'Value> = class
    interface IDictionary<'Key, 'Value>
    interface ICollection<KeyValuePair<'Key, 'Value>>
    interface seq<KeyValuePair<'Key, 'Value>>
    interface IEnumerable
    interface IDictionary
    interface ICollection
    interface IReadOnlyDictionary<'Key, 'Value>
    interface IReadOnlyCollection<KeyValuePair<'Key, 'Value>>
Public Class SortedList(Of TKey, TValue)
Implements ICollection(Of KeyValuePair(Of TKey, TValue)), IDictionary, IDictionary(Of TKey, TValue), IEnumerable(Of KeyValuePair(Of TKey, TValue)), IReadOnlyCollection(Of KeyValuePair(Of TKey, TValue)), IReadOnlyDictionary(Of TKey, TValue)
Public Class SortedList(Of TKey, TValue)
Implements ICollection(Of KeyValuePair(Of TKey, TValue)), IDictionary, IDictionary(Of TKey, TValue), IEnumerable(Of KeyValuePair(Of TKey, TValue))

Parametri di tipo

TKey

Tipo di chiavi nella raccolta.

TValue

Tipo di valori nell'insieme.

Ereditarietà
SortedList<TKey,TValue>
Derivato
Attributi
Implementazioni

Esempio

Nell'esempio di codice seguente viene creata una SortedList<TKey,TValue> vuota di stringhe con chiavi stringa e viene usato il metodo Add per aggiungere alcuni elementi. Nell'esempio viene illustrato che il metodo Add genera un ArgumentException quando si tenta di aggiungere una chiave duplicata.

Nell'esempio viene usata la proprietà Item[] (l'indicizzatore in C#) per recuperare i valori, dimostrando che un KeyNotFoundException viene generato quando una chiave richiesta non è presente e indica che il valore associato a una chiave può essere sostituito.

Nell'esempio viene illustrato come utilizzare il metodo TryGetValue come metodo più efficiente per recuperare i valori se un programma spesso deve provare i valori chiave non inclusi nell'elenco ordinato e illustra come usare il metodo ContainsKey per verificare se esiste una chiave prima di chiamare il metodo Add.

Nell'esempio viene illustrato come enumerare le chiavi e i valori nell'elenco ordinato e come enumerare solo le chiavi e i valori usando la proprietà Keys e la proprietà Values.

Infine, l'esempio illustra il metodo Remove.

#using <System.dll>

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

public ref class Example
{
public:
    static void Main()
    {
        // Create a new sorted list of strings, with string
        // keys.
        SortedList<String^, String^>^ openWith =
            gcnew SortedList<String^, String^>();

        // Add some elements to the list. There are no 
        // duplicate keys, but some of the values are duplicates.
        openWith->Add("txt", "notepad.exe");
        openWith->Add("bmp", "paint.exe");
        openWith->Add("dib", "paint.exe");
        openWith->Add("rtf", "wordpad.exe");

        // The Add method throws an exception if the new key is
        // already in the list.
        try
        {
            openWith->Add("txt", "winword.exe");
        }
        catch (ArgumentException^)
        {
            Console::WriteLine("An element with Key = \"txt\" already exists.");
        }

        // The Item property is another name for the indexer, so you
        // can omit its name when accessing elements.
        Console::WriteLine("For key = \"rtf\", value = {0}.",
            openWith["rtf"]);

        // The indexer can be used to change the value associated
        // with a key.
        openWith["rtf"] = "winword.exe";
        Console::WriteLine("For key = \"rtf\", value = {0}.",
            openWith["rtf"]);

        // If a key does not exist, setting the indexer for that key
        // adds a new key/value pair.
        openWith["doc"] = "winword.exe";

        // The indexer throws an exception if the requested key is
        // not in the list.
        try
        {
            Console::WriteLine("For key = \"tif\", value = {0}.",
                openWith["tif"]);
        }
        catch (KeyNotFoundException^)
        {
            Console::WriteLine("Key = \"tif\" is not found.");
        }

        // When a program often has to try keys that turn out not to
        // be in the list, TryGetValue can be a more efficient
        // way to retrieve values.
        String^ value = "";
        if (openWith->TryGetValue("tif", value))
        {
            Console::WriteLine("For key = \"tif\", value = {0}.", value);
        }
        else
        {
            Console::WriteLine("Key = \"tif\" is not found.");
        }

        // ContainsKey can be used to test keys before inserting
        // them.
        if (!openWith->ContainsKey("ht"))
        {
            openWith->Add("ht", "hypertrm.exe");
            Console::WriteLine("Value added for key = \"ht\": {0}",
                openWith["ht"]);
        }

        // When you use foreach to enumerate list elements,
        // the elements are retrieved as KeyValuePair objects.
        Console::WriteLine();
        for each( KeyValuePair<String^, String^> kvp in openWith )
        {
            Console::WriteLine("Key = {0}, Value = {1}",
                kvp.Key, kvp.Value);
        }

        // To get the values alone, use the Values property.
        IList<String^>^ ilistValues = openWith->Values;

        // The elements of the list are strongly typed with the
        // type that was specified for the SortedList values.
        Console::WriteLine();
        for each( String^ s in ilistValues )
        {
            Console::WriteLine("Value = {0}", s);
        }

        // The Values property is an efficient way to retrieve
        // values by index.
        Console::WriteLine("\nIndexed retrieval using the Values " +
            "property: Values[2] = {0}", openWith->Values[2]);

        // To get the keys alone, use the Keys property.
        IList<String^>^ ilistKeys = openWith->Keys;

        // The elements of the list are strongly typed with the
        // type that was specified for the SortedList keys.
        Console::WriteLine();
        for each( String^ s in ilistKeys )
        {
            Console::WriteLine("Key = {0}", s);
        }

        // The Keys property is an efficient way to retrieve
        // keys by index.
        Console::WriteLine("\nIndexed retrieval using the Keys " +
            "property: Keys[2] = {0}", openWith->Keys[2]);

        // Use the Remove method to remove a key/value pair.
        Console::WriteLine("\nRemove(\"doc\")");
        openWith->Remove("doc");

        if (!openWith->ContainsKey("doc"))
        {
            Console::WriteLine("Key \"doc\" is not found.");
        }
    }
};

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

/* This code example produces the following output:

An element with Key = "txt" already exists.
For key = "rtf", value = wordpad.exe.
For key = "rtf", value = winword.exe.
Key = "tif" is not found.
Key = "tif" is not found.
Value added for key = "ht": hypertrm.exe

Key = bmp, Value = paint.exe
Key = dib, Value = paint.exe
Key = doc, Value = winword.exe
Key = ht, Value = hypertrm.exe
Key = rtf, Value = winword.exe
Key = txt, Value = notepad.exe

Value = paint.exe
Value = paint.exe
Value = winword.exe
Value = hypertrm.exe
Value = winword.exe
Value = notepad.exe

Indexed retrieval using the Values property: Values[2] = winword.exe

Key = bmp
Key = dib
Key = doc
Key = ht
Key = rtf
Key = txt

Indexed retrieval using the Keys property: Keys[2] = doc

Remove("doc")
Key "doc" is not found.
 */
using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new sorted list of strings, with string
        // keys.
        SortedList<string, string> openWith =
            new SortedList<string, string>();

        // Add some elements to the list. There are no
        // duplicate keys, but some of the values are duplicates.
        openWith.Add("txt", "notepad.exe");
        openWith.Add("bmp", "paint.exe");
        openWith.Add("dib", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");

        // The Add method throws an exception if the new key is
        // already in the list.
        try
        {
            openWith.Add("txt", "winword.exe");
        }
        catch (ArgumentException)
        {
            Console.WriteLine("An element with Key = \"txt\" already exists.");
        }

        // The Item property is another name for the indexer, so you
        // can omit its name when accessing elements.
        Console.WriteLine("For key = \"rtf\", value = {0}.",
            openWith["rtf"]);

        // The indexer can be used to change the value associated
        // with a key.
        openWith["rtf"] = "winword.exe";
        Console.WriteLine("For key = \"rtf\", value = {0}.",
            openWith["rtf"]);

        // If a key does not exist, setting the indexer for that key
        // adds a new key/value pair.
        openWith["doc"] = "winword.exe";

        // The indexer throws an exception if the requested key is
        // not in the list.
        try
        {
            Console.WriteLine("For key = \"tif\", value = {0}.",
                openWith["tif"]);
        }
        catch (KeyNotFoundException)
        {
            Console.WriteLine("Key = \"tif\" is not found.");
        }

        // When a program often has to try keys that turn out not to
        // be in the list, TryGetValue can be a more efficient
        // way to retrieve values.
        string value = "";
        if (openWith.TryGetValue("tif", out value))
        {
            Console.WriteLine("For key = \"tif\", value = {0}.", value);
        }
        else
        {
            Console.WriteLine("Key = \"tif\" is not found.");
        }

        // ContainsKey can be used to test keys before inserting
        // them.
        if (!openWith.ContainsKey("ht"))
        {
            openWith.Add("ht", "hypertrm.exe");
            Console.WriteLine("Value added for key = \"ht\": {0}",
                openWith["ht"]);
        }

        // When you use foreach to enumerate list elements,
        // the elements are retrieved as KeyValuePair objects.
        Console.WriteLine();
        foreach( KeyValuePair<string, string> kvp in openWith )
        {
            Console.WriteLine("Key = {0}, Value = {1}",
                kvp.Key, kvp.Value);
        }

        // To get the values alone, use the Values property.
        IList<string> ilistValues = openWith.Values;

        // The elements of the list are strongly typed with the
        // type that was specified for the SortedList values.
        Console.WriteLine();
        foreach( string s in ilistValues )
        {
            Console.WriteLine("Value = {0}", s);
        }

        // The Values property is an efficient way to retrieve
        // values by index.
        Console.WriteLine("\nIndexed retrieval using the Values " +
            "property: Values[2] = {0}", openWith.Values[2]);

        // To get the keys alone, use the Keys property.
        IList<string> ilistKeys = openWith.Keys;

        // The elements of the list are strongly typed with the
        // type that was specified for the SortedList keys.
        Console.WriteLine();
        foreach( string s in ilistKeys )
        {
            Console.WriteLine("Key = {0}", s);
        }

        // The Keys property is an efficient way to retrieve
        // keys by index.
        Console.WriteLine("\nIndexed retrieval using the Keys " +
            "property: Keys[2] = {0}", openWith.Keys[2]);

        // Use the Remove method to remove a key/value pair.
        Console.WriteLine("\nRemove(\"doc\")");
        openWith.Remove("doc");

        if (!openWith.ContainsKey("doc"))
        {
            Console.WriteLine("Key \"doc\" is not found.");
        }
    }
}

/* This code example produces the following output:

An element with Key = "txt" already exists.
For key = "rtf", value = wordpad.exe.
For key = "rtf", value = winword.exe.
Key = "tif" is not found.
Key = "tif" is not found.
Value added for key = "ht": hypertrm.exe

Key = bmp, Value = paint.exe
Key = dib, Value = paint.exe
Key = doc, Value = winword.exe
Key = ht, Value = hypertrm.exe
Key = rtf, Value = winword.exe
Key = txt, Value = notepad.exe

Value = paint.exe
Value = paint.exe
Value = winword.exe
Value = hypertrm.exe
Value = winword.exe
Value = notepad.exe

Indexed retrieval using the Values property: Values[2] = winword.exe

Key = bmp
Key = dib
Key = doc
Key = ht
Key = rtf
Key = txt

Indexed retrieval using the Keys property: Keys[2] = doc

Remove("doc")
Key "doc" is not found.
 */
Imports System.Collections.Generic

Public Class Example
    
    Public Shared Sub Main() 

        ' Create a new sorted list of strings, with string 
        ' keys. 
        Dim openWith As New SortedList(Of String, String)
        
        ' Add some elements to the list. There are no 
        ' duplicate keys, but some of the values are duplicates.
        openWith.Add("txt", "notepad.exe")
        openWith.Add("bmp", "paint.exe")
        openWith.Add("dib", "paint.exe")
        openWith.Add("rtf", "wordpad.exe")
        
        ' The Add method throws an exception if the new key is 
        ' already in the list.
        Try
            openWith.Add("txt", "winword.exe")
        Catch 
            Console.WriteLine("An element with Key = ""txt"" already exists.")
        End Try

        ' The Item property is the default property, so you 
        ' can omit its name when accessing elements. 
        Console.WriteLine("For key = ""rtf"", value = {0}.", _
            openWith("rtf"))
        
        ' The default Item property can be used to change the value
        ' associated with a key.
        openWith("rtf") = "winword.exe"
        Console.WriteLine("For key = ""rtf"", value = {0}.", _
            openWith("rtf"))
        
        ' If a key does not exist, setting the default Item property
        ' for that key adds a new key/value pair.
        openWith("doc") = "winword.exe"

        ' The default Item property throws an exception if the requested
        ' key is not in the list.
        Try
            Console.WriteLine("For key = ""tif"", value = {0}.", _
                openWith("tif"))
        Catch 
            Console.WriteLine("Key = ""tif"" is not found.")
        End Try

        ' When a program often has to try keys that turn out not to
        ' be in the list, TryGetValue can be a more efficient 
        ' way to retrieve values.
        Dim value As String = ""
        If openWith.TryGetValue("tif", value) Then
            Console.WriteLine("For key = ""tif"", value = {0}.", value)
        Else
            Console.WriteLine("Key = ""tif"" is not found.")
        End If

        ' ContainsKey can be used to test keys before inserting 
        ' them.
        If Not openWith.ContainsKey("ht") Then
            openWith.Add("ht", "hypertrm.exe")
            Console.WriteLine("Value added for key = ""ht"": {0}", _
                openWith("ht"))
        End If

        ' When you use foreach to enumerate list elements,
        ' the elements are retrieved as KeyValuePair objects.
        Console.WriteLine()
        For Each kvp As KeyValuePair(Of String, String) In openWith
            Console.WriteLine("Key = {0}, Value = {1}", _
                kvp.Key, kvp.Value)
        Next kvp

        ' To get the values alone, use the Values property.
        Dim ilistValues As IList(Of String) = openWith.Values
        
        ' The elements of the list are strongly typed with the
        ' type that was specified for the SortedList values.
        Console.WriteLine()
        For Each s As String In ilistValues
            Console.WriteLine("Value = {0}", s)
        Next s

        ' The Values property is an efficient way to retrieve
        ' values by index.
        Console.WriteLine(vbLf & "Indexed retrieval using the " & _
            "Values property: Values(2) = {0}", openWith.Values(2))

        ' To get the keys alone, use the Keys property.
        Dim ilistKeys As IList(Of String) = openWith.Keys
        
        ' The elements of the list are strongly typed with the
        ' type that was specified for the SortedList keys.
        Console.WriteLine()
        For Each s As String In ilistKeys 
            Console.WriteLine("Key = {0}", s)
        Next s

        ' The Keys property is an efficient way to retrieve
        ' keys by index.
        Console.WriteLine(vbLf & "Indexed retrieval using the " & _
            "Keys property: Keys(2) = {0}", openWith.Keys(2))

        ' Use the Remove method to remove a key/value pair.
        Console.WriteLine(vbLf + "Remove(""doc"")")
        openWith.Remove("doc")
        
        If Not openWith.ContainsKey("doc") Then
            Console.WriteLine("Key ""doc"" is not found.")
        End If

    End Sub

End Class

' This code example produces the following output:
'
'An element with Key = "txt" already exists.
'For key = "rtf", value = wordpad.exe.
'For key = "rtf", value = winword.exe.
'Key = "tif" is not found.
'Key = "tif" is not found.
'Value added for key = "ht": hypertrm.exe
'
'Key = bmp, Value = paint.exe
'Key = dib, Value = paint.exe
'Key = doc, Value = winword.exe
'Key = ht, Value = hypertrm.exe
'Key = rtf, Value = winword.exe
'Key = txt, Value = notepad.exe
'
'Value = paint.exe
'Value = paint.exe
'Value = winword.exe
'Value = hypertrm.exe
'Value = winword.exe
'Value = notepad.exe
'
'Indexed retrieval using the Values property: Values(2) = winword.exe
'
'Key = bmp
'Key = dib
'Key = doc
'Key = ht
'Key = rtf
'Key = txt
'
'Indexed retrieval using the Keys property: Keys(2) = doc
'
'Remove("doc")
'Key "doc" is not found.
'
open System
open System.Collections.Generic

// Create a new sorted list of strings, with string
// keys.
let openWith = SortedList<string, string>()

// Add some elements to the list. There are no
// duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe")
openWith.Add("bmp", "paint.exe")
openWith.Add("dib", "paint.exe")
openWith.Add("rtf", "wordpad.exe")

// The Add method throws an exception if the new key is
// already in the list.
try
    openWith.Add("txt", "winword.exe");
with
    | :? ArgumentException ->
        printfn "An element with Key = \"txt\" already exists."

// The Item property is another name for the indexer, so you
// can omit its name when accessing elements.
printfn $"""For key = "rtf", value = {openWith["rtf"]}."""

// The indexer can be used to change the value associated
// with a key.
openWith["rtf"] <- "winword.exe"
printfn $"""For key = "rtf", value = {openWith["rtf"]}."""

// If a key does not exist, setting the indexer for that key
// adds a new key/value pair.
openWith["doc"] <- "winword.exe";

// The indexer throws an exception if the requested key is
// not in the list.
try
    printfn $"""For key = "tif", value = {openWith["tif"]}."""
with 
    | :? KeyNotFoundException ->
        printfn "Key = \"tif\" is not found."

// When a program often has to try keys that turn out not to
// be in the list, TryGetValue can be a more efficient
// way to retrieve values.
match openWith.TryGetValue("tif") with
| true, value ->
    printfn "For key = \"tif\", value = {value}."
| false, _ ->
    printfn "Key = \"tif\" is not found."

// ContainsKey can be used to test keys before inserting
// them.
if not (openWith.ContainsKey("ht")) then
    openWith.Add("ht", "hypertrm.exe");
    printfn """Value added for key = "ht": {openWith["ht"]}"""

// When you use foreach to enumerate list elements,
// the elements are retrieved as KeyValuePair objects.
Console.WriteLine()
for kvp in openWith do
    printfn $"Key = {kvp.Key}, Value = {kvp.Value}"

// To get the values alone, use the Values property.
let ilistValues = openWith.Values;

// The elements of the list are strongly typed with the
// type that was specified for the SortedList values.
Console.WriteLine()
for s in ilistValues do
    printfn $"Value = {s}"

// The Values property is an efficient way to retrieve
// values by index.
printf "\nIndexed retrieval using the Values "
printfn $"property: Values[2] = {openWith.Values[2]}"

// To get the keys alone, use the Keys property.
let ilistKeys = openWith.Keys;

// The elements of the list are strongly typed with the
// type that was specified for the SortedList keys.
Console.WriteLine()
for s in ilistKeys do
    printfn $"Key = {s}"

// The Keys property is an efficient way to retrieve
// keys by index.
printf "\nIndexed retrieval using the Keys "
printfn $"property: Keys[2] = {openWith.Keys[2]}"

// Use the Remove method to remove a key/value pair.
printfn "\nRemove(\"doc\")"
openWith.Remove("doc") |> ignore

if not (openWith.ContainsKey("doc")) then
    printfn "Key \"doc\" is not found."

(* This code example produces the following output:

An element with Key = "txt" already exists.
For key = "rtf", value = wordpad.exe.
For key = "rtf", value = winword.exe.
Key = "tif" is not found.
Key = "tif" is not found.
Value added for key = "ht": hypertrm.exe

Key = bmp, Value = paint.exe
Key = dib, Value = paint.exe
Key = doc, Value = winword.exe
Key = ht, Value = hypertrm.exe
Key = rtf, Value = winword.exe
Key = txt, Value = notepad.exe

Value = paint.exe
Value = paint.exe
Value = winword.exe
Value = hypertrm.exe
Value = winword.exe
Value = notepad.exe

Indexed retrieval using the Values property: Values[2] = winword.exe

Key = bmp
Key = dib
Key = doc
Key = ht
Key = rtf
Key = txt

Indexed retrieval using the Keys property: Keys[2] = doc

Remove("doc")
Key "doc" is not found.
 *)

Commenti

La classe generica SortedList<TKey,TValue> è una matrice di coppie chiave/valore con il recupero di O(log n), dove n è il numero di elementi nel dizionario. In questo caso, è simile alla classe generica SortedDictionary<TKey,TValue>. Le due classi hanno modelli a oggetti simili e hanno entrambi il recupero di O(log n). Dove le due classi differiscono è l'uso della memoria e la velocità di inserimento e rimozione:

Un'altra differenza tra le classi SortedDictionary<TKey,TValue> e SortedList<TKey,TValue> consiste nel fatto che SortedList<TKey,TValue> supporta un efficiente recupero indicizzato di chiavi e valori tramite le raccolte restituite dalle proprietà Keys e Values. Non è necessario rigenerare gli elenchi quando si accede alle proprietà, perché gli elenchi sono solo wrapper per le matrici interne di chiavi e valori. Il codice seguente illustra l'uso della proprietà Values per il recupero indicizzato di valori da un elenco ordinato di stringhe:

String^ v = mySortedList->Values[3];
string v = mySortedList.Values[3];
Dim v As String = mySortedList.Values(3)
let v = mySortedList.Values[3]

SortedList<TKey,TValue> viene implementato come matrice di coppie chiave/valore, ordinate in base alla chiave. Ogni elemento può essere recuperato come oggetto KeyValuePair<TKey,TValue>.

Gli oggetti chiave devono essere non modificabili purché vengano usati come chiavi nel SortedList<TKey,TValue>. Ogni chiave in un SortedList<TKey,TValue> deve essere univoca. Una chiave non può essere null, ma un valore può essere, se il tipo di valori nell'elenco, TValue, è un tipo riferimento.

SortedList<TKey,TValue> richiede un'implementazione dell'operatore di confronto per ordinare ed eseguire confronti. L'operatore di confronto predefinito Comparer<T>.Default controlla se il tipo di chiave TKey implementa System.IComparable<T> e usa tale implementazione, se disponibile. In caso contrario, Comparer<T>.Default controlla se il tipo di chiave TKey implementa System.IComparable. Se il tipo di chiave TKey non implementa alcuna interfaccia, è possibile specificare un'implementazione System.Collections.Generic.IComparer<T> in un overload del costruttore che accetta un parametro comparer.

La capacità di un SortedList<TKey,TValue> è il numero di elementi che il SortedList<TKey,TValue> può contenere. Man mano che gli elementi vengono aggiunti a un SortedList<TKey,TValue>, la capacità viene aumentata automaticamente come richiesto dalla riallocazione della matrice interna. La capacità può essere ridotta chiamando TrimExcess o impostando la proprietà Capacity in modo esplicito. La riduzione della capacità rialloca la memoria e copia tutti gli elementi nella SortedList<TKey,TValue>.

solo .NET Framework: Per oggetti SortedList<TKey,TValue> di grandi dimensioni, è possibile aumentare la capacità massima a 2 miliardi di elementi in un sistema a 64 bit impostando l'attributo enabled dell'elemento di configurazione <gcAllowVeryLargeObjects> su true nell'ambiente di runtime.

L'istruzione foreach del linguaggio C# (for each in C++, For Each in Visual Basic) restituisce un oggetto del tipo degli elementi nell'insieme. Poiché gli elementi della SortedList<TKey,TValue> sono coppie chiave/valore, il tipo di elemento non è il tipo della chiave o il tipo del valore. Al contrario, il tipo di elemento è KeyValuePair<TKey,TValue>. Per esempio:

for each( KeyValuePair<int, String^> kvp in mySortedList )
{
    Console::WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
foreach( KeyValuePair<int, string> kvp in mySortedList )
{
    Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
For Each kvp As KeyValuePair(Of Integer, String) In mySortedList
    Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value)
Next kvp
for kvp in mySortedList do
    printfn $"Key = {kvp.Key}, Value = {kvp.Value}"

L'istruzione foreach è un wrapper intorno all'enumeratore, che consente solo la lettura, non la scrittura nella raccolta.

Costruttori

SortedList<TKey,TValue>()

Inizializza una nuova istanza della classe SortedList<TKey,TValue> vuota, ha la capacità iniziale predefinita e usa il IComparer<T>predefinito .

SortedList<TKey,TValue>(IComparer<TKey>)

Inizializza una nuova istanza della classe SortedList<TKey,TValue> vuota, ha la capacità iniziale predefinita e usa il IComparer<T>specificato.

SortedList<TKey,TValue>(IDictionary<TKey,TValue>)

Inizializza una nuova istanza della classe SortedList<TKey,TValue> che contiene elementi copiati dalla IDictionary<TKey,TValue>specificata, ha una capacità sufficiente per contenere il numero di elementi copiati e usa il IComparer<T>predefinito .

SortedList<TKey,TValue>(IDictionary<TKey,TValue>, IComparer<TKey>)

Inizializza una nuova istanza della classe SortedList<TKey,TValue> che contiene elementi copiati dalla IDictionary<TKey,TValue>specificata, ha una capacità sufficiente per contenere il numero di elementi copiati e usa l'IComparer<T>specificato.

SortedList<TKey,TValue>(Int32)

Inizializza una nuova istanza della classe SortedList<TKey,TValue> vuota, ha la capacità iniziale specificata e usa il IComparer<T>predefinito .

SortedList<TKey,TValue>(Int32, IComparer<TKey>)

Inizializza una nuova istanza della classe SortedList<TKey,TValue> vuota, ha la capacità iniziale specificata e usa il IComparer<T>specificato.

Proprietà

Capacity

Ottiene o imposta il numero di elementi che l'SortedList<TKey,TValue> può contenere.

Comparer

Ottiene il IComparer<T> per l'elenco ordinato.

Count

Ottiene il numero di coppie chiave/valore contenute nella SortedList<TKey,TValue>.

Item[TKey]

Ottiene o imposta il valore associato alla chiave specificata.

Keys

Ottiene una raccolta contenente le chiavi nel SortedList<TKey,TValue>, in ordine ordinato.

Values

Ottiene una raccolta contenente i valori nel SortedList<TKey,TValue>.

Metodi

Add(TKey, TValue)

Aggiunge un elemento con la chiave e il valore specificati nel SortedList<TKey,TValue>.

Clear()

Rimuove tutti gli elementi dalla SortedList<TKey,TValue>.

ContainsKey(TKey)

Determina se il SortedList<TKey,TValue> contiene una chiave specifica.

ContainsValue(TValue)

Determina se il SortedList<TKey,TValue> contiene un valore specifico.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che scorre il SortedList<TKey,TValue>.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetKeyAtIndex(Int32)

Ottiene la chiave corrispondente all'indice specificato.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetValueAtIndex(Int32)

Ottiene il valore corrispondente all'indice specificato.

IndexOfKey(TKey)

Cerca la chiave specificata e restituisce l'indice in base zero all'interno dell'intero SortedList<TKey,TValue>.

IndexOfValue(TValue)

Cerca il valore specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intero SortedList<TKey,TValue>.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Remove(TKey)

Rimuove l'elemento con la chiave specificata dal SortedList<TKey,TValue>.

RemoveAt(Int32)

Rimuove l'elemento in corrispondenza dell'indice specificato del SortedList<TKey,TValue>.

SetValueAtIndex(Int32, TValue)

Aggiorna il valore corrispondente all'indice specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TrimExcess()

Imposta la capacità sul numero effettivo di elementi nell'SortedList<TKey,TValue>, se tale numero è minore del 90% della capacità corrente.

TryGetValue(TKey, TValue)

Ottiene il valore associato alla chiave specificata.

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi del ICollection in un Array, a partire da un particolare indice Array.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso al ICollection è sincronizzato (thread-safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso al ICollection.

ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>)

Aggiunge una coppia chiave/valore al ICollection<T>.

ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>)

Determina se l'ICollection<T> contiene un elemento specifico.

ICollection<KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair<TKey,TValue>[], Int32)

Copia gli elementi del ICollection<T> in un Array, a partire da un particolare indice Array.

ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly

Ottiene un valore che indica se il ICollection<T> è di sola lettura.

ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>)

Rimuove la prima occorrenza di una coppia chiave/valore specifica dal ICollection<T>.

IDictionary.Add(Object, Object)

Aggiunge un elemento con la chiave e il valore forniti alla IDictionary.

IDictionary.Contains(Object)

Determina se il IDictionary contiene un elemento con la chiave specificata.

IDictionary.GetEnumerator()

Restituisce un IDictionaryEnumerator per il IDictionary.

IDictionary.IsFixedSize

Ottiene un valore che indica se la IDictionary ha una dimensione fissa.

IDictionary.IsReadOnly

Ottiene un valore che indica se il IDictionary è di sola lettura.

IDictionary.Item[Object]

Ottiene o imposta l'elemento con la chiave specificata.

IDictionary.Keys

Ottiene un ICollection contenente le chiavi del IDictionary.

IDictionary.Remove(Object)

Rimuove l'elemento con la chiave specificata dal IDictionary.

IDictionary.Values

Ottiene un ICollection contenente i valori nel IDictionary.

IDictionary<TKey,TValue>.Keys

Ottiene un ICollection<T> contenente le chiavi del IDictionary<TKey,TValue>.

IDictionary<TKey,TValue>.Values

Ottiene un ICollection<T> contenente i valori nel IDictionary<TKey,TValue>.

IEnumerable.GetEnumerator()

Restituisce un enumeratore che scorre un insieme.

IEnumerable<KeyValuePair<TKey,TValue>>.GetEnumerator()

Restituisce un enumeratore che scorre un insieme.

IReadOnlyDictionary<TKey,TValue>.Keys

Ottiene un insieme enumerabile che contiene le chiavi nel dizionario di sola lettura.

IReadOnlyDictionary<TKey,TValue>.Values

Ottiene un insieme enumerabile che contiene i valori nel dizionario di sola lettura.

Metodi di estensione

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

Crea un FrozenDictionary<TKey,TValue> da un IEnumerable<T> in base alla funzione del selettore di chiave specificata.

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

Crea un FrozenDictionary<TKey,TValue> da un IEnumerable<T> in base ai selettori di chiave e alle funzioni del selettore di elementi specificati.

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

Crea un FrozenSet<T> con i valori specificati.

AsReadOnly<TKey,TValue>(IDictionary<TKey,TValue>)

Restituisce un wrapper di sola lettura ReadOnlyDictionary<TKey,TValue> per il dizionario corrente.

GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey)

Prova a ottenere il valore associato al key specificato nel dictionary.

GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue)

Prova a ottenere il valore associato al key specificato nel dictionary.

Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)

Tenta di rimuovere il valore con il key specificato dal dictionary.

TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)

Tenta di aggiungere il key e l'value specificati al dictionary.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Crea una matrice non modificabile dalla raccolta specificata.

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

Costruisce un dizionario non modificabile da una raccolta esistente di elementi, applicando una funzione di trasformazione alle chiavi di origine.

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

Costruisce un dizionario non modificabile in base a una trasformazione di una sequenza.

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

Enumera e trasforma una sequenza e produce un dizionario non modificabile del relativo contenuto.

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

Enumera e trasforma una sequenza e produce un dizionario non modificabile del relativo contenuto usando l'operatore di confronto di chiavi specificato.

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

Enumera e trasforma una sequenza e produce un dizionario non modificabile del relativo contenuto usando gli strumenti di confronto chiave e valore specificati.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Enumera una sequenza e produce un set di hash non modificabile del relativo contenuto.

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

Enumera una sequenza, produce un set di hash non modificabile del relativo contenuto e usa l'operatore di confronto di uguaglianza specificato per il tipo di set.

ToImmutableList<TSource>(IEnumerable<TSource>)

Enumera una sequenza e produce un elenco non modificabile del relativo contenuto.

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

Enumera e trasforma una sequenza e produce un dizionario ordinato non modificabile del relativo contenuto.

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

Enumera e trasforma una sequenza e produce un dizionario ordinato non modificabile del relativo contenuto usando l'operatore di confronto di chiavi specificato.

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

Enumera e trasforma una sequenza e produce un dizionario ordinato non modificabile del relativo contenuto usando gli strumenti di confronto chiave e valore specificati.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Enumera una sequenza e produce un set ordinato non modificabile del relativo contenuto.

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

Enumera una sequenza, produce un set ordinato non modificabile del relativo contenuto e usa l'operatore di confronto specificato.

CopyToDataTable<T>(IEnumerable<T>)

Restituisce un DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input in cui il parametro generico T è DataRow.

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

Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui il parametro generico T è DataRow.

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

Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui il parametro generico T è DataRow.

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

Applica una funzione di enumeratore su una sequenza.

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

Applica una funzione di enumeratore su una sequenza. Il valore di inizializzazione specificato viene utilizzato come valore dell'caricabatterie iniziale.

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

Applica una funzione di enumeratore su una sequenza. Il valore di inizializzazione specificato viene utilizzato come valore dell'accumulatore iniziale e la funzione specificata viene usata per selezionare il valore del risultato.

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

Rappresenta una raccolta di coppie chiave/valore ordinate in base alla chiave in base all'implementazione di IComparer<T> associata.

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

Rappresenta una raccolta di coppie chiave/valore ordinate in base alla chiave in base all'implementazione di IComparer<T> associata.

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

Determina se tutti gli elementi di una sequenza soddisfano una condizione.

Any<TSource>(IEnumerable<TSource>)

Determina se una sequenza contiene elementi.

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

Determina se un elemento di una sequenza soddisfa una condizione.

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

Aggiunge un valore alla fine della sequenza.

AsEnumerable<TSource>(IEnumerable<TSource>)

Restituisce l'input tipizzato come IEnumerable<T>.

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

Calcola la media di una sequenza di valori Decimal ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori Double ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori Int32 ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori Int64 ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori nullable Decimal ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori nullable Double ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori nullable Int32 ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori nullable Int64 ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori nullable Single ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.

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

Calcola la media di una sequenza di valori Single ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

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

Suddivide gli elementi di una sequenza in blocchi di dimensioni al massimo size.

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

Concatena due sequenze.

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

Determina se una sequenza contiene un elemento specificato utilizzando l'operatore di confronto di uguaglianza predefinito.

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

Determina se una sequenza contiene un elemento specificato utilizzando un IEqualityComparer<T>specificato.

Count<TSource>(IEnumerable<TSource>)

Restituisce il numero di elementi in una sequenza.

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

Restituisce un numero che rappresenta il numero di elementi nella sequenza specificata che soddisfano una condizione.

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

Rappresenta una raccolta di coppie chiave/valore ordinate in base alla chiave in base all'implementazione di IComparer<T> associata.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Restituisce gli elementi della sequenza specificata o il valore predefinito del parametro di tipo in un insieme singleton se la sequenza è vuota.

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

Restituisce gli elementi della sequenza specificata o il valore specificato in una raccolta singleton se la sequenza è vuota.

Distinct<TSource>(IEnumerable<TSource>)

Restituisce elementi distinti da una sequenza utilizzando l'operatore di confronto di uguaglianza predefinito per confrontare i valori.

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

Restituisce elementi distinti da una sequenza utilizzando un IEqualityComparer<T> specificato per confrontare i valori.

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

Restituisce elementi distinti da una sequenza in base a una funzione del selettore di chiave specificata.

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

Restituisce elementi distinti da una sequenza in base a una funzione del selettore di chiave specificata e utilizzando un operatore di confronto specificato per confrontare le chiavi.

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

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza.

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

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza.

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

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice non è compreso nell'intervallo.

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

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice non è compreso nell'intervallo.

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

Produce la differenza di set di due sequenze usando l'operatore di confronto di uguaglianza predefinito per confrontare i valori.

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

Produce la differenza di set di due sequenze usando il IEqualityComparer<T> specificato per confrontare i valori.

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

Produce la differenza di set di due sequenze in base a una funzione del selettore di chiave specificata.

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

Produce la differenza di set di due sequenze in base a una funzione del selettore di chiave specificata.

First<TSource>(IEnumerable<TSource>)

Restituisce il primo elemento di una sequenza.

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

Restituisce il primo elemento di una sequenza che soddisfa una condizione specificata.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Restituisce il primo elemento di una sequenza o un valore predefinito se la sequenza non contiene elementi.

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

Restituisce il primo elemento di una sequenza o un valore predefinito specificato se la sequenza non contiene elementi.

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

Restituisce il primo elemento della sequenza che soddisfa una condizione o un valore predefinito se non viene trovato alcun elemento di questo tipo.

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

Restituisce il primo elemento della sequenza che soddisfa una condizione o un valore predefinito specificato se non viene trovato alcun elemento di questo tipo.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata e confronta le chiavi usando un operatore di confronto specificato.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata e proietta gli elementi per ogni gruppo usando una funzione specificata.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave. Le chiavi vengono confrontate usando un operatore di confronto e gli elementi di ogni gruppo vengono proiettati usando una funzione specificata.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata e crea un valore di risultato da ogni gruppo e dalla relativa chiave.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata e crea un valore di risultato da ogni gruppo e dalla relativa chiave. Le chiavi vengono confrontate usando un operatore di confronto specificato.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata e crea un valore di risultato da ogni gruppo e dalla relativa chiave. Gli elementi di ogni gruppo vengono proiettati usando una funzione specificata.

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

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata e crea un valore di risultato da ogni gruppo e dalla relativa chiave. I valori chiave vengono confrontati usando un operatore di confronto specificato e gli elementi di ogni gruppo vengono proiettati usando una funzione specificata.

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

Correla gli elementi di due sequenze in base all'uguaglianza delle chiavi e raggruppa i risultati. L'operatore di confronto di uguaglianza predefinito viene usato per confrontare le chiavi.

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

Correla gli elementi di due sequenze in base all'uguaglianza delle chiavi e raggruppa i risultati. Viene usato un IEqualityComparer<T> specificato per confrontare le chiavi.

Index<TSource>(IEnumerable<TSource>)

Restituisce un enumerabile che incorpora l'indice dell'elemento in una tupla.

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

Produce l'intersezione set di due sequenze usando l'operatore di confronto di uguaglianza predefinito per confrontare i valori.

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

Produce l'intersezione set di due sequenze utilizzando il IEqualityComparer<T> specificato per confrontare i valori.

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

Produce l'intersezione set di due sequenze in base a una funzione del selettore di chiave specificata.

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

Produce l'intersezione set di due sequenze in base a una funzione del selettore di chiave specificata.

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

Correla gli elementi di due sequenze in base alle chiavi corrispondenti. L'operatore di confronto di uguaglianza predefinito viene usato per confrontare le chiavi.

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

Correla gli elementi di due sequenze in base alle chiavi corrispondenti. Viene usato un IEqualityComparer<T> specificato per confrontare le chiavi.

Last<TSource>(IEnumerable<TSource>)

Restituisce l'ultimo elemento di una sequenza.

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

Restituisce l'ultimo elemento di una sequenza che soddisfa una condizione specificata.

LastOrDefault<TSource>(IEnumerable<TSource>)

Restituisce l'ultimo elemento di una sequenza o un valore predefinito se la sequenza non contiene elementi.

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

Restituisce l'ultimo elemento di una sequenza o un valore predefinito specificato se la sequenza non contiene elementi.

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

Restituisce l'ultimo elemento di una sequenza che soddisfa una condizione o un valore predefinito se non viene trovato alcun elemento di questo tipo.

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

Restituisce l'ultimo elemento di una sequenza che soddisfa una condizione o un valore predefinito specificato se non viene trovato alcun elemento di questo tipo.

LongCount<TSource>(IEnumerable<TSource>)

Restituisce un Int64 che rappresenta il numero totale di elementi in una sequenza.

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

Restituisce un Int64 che rappresenta il numero di elementi in una sequenza che soddisfano una condizione.

Max<TSource>(IEnumerable<TSource>)

Restituisce il valore massimo in una sequenza generica.

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

Restituisce il valore massimo in una sequenza generica.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo Decimal.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo Double.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo Int32.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo Int64.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo nullable Decimal.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo nullable Double.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo nullable Int32.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo nullable Int64.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo nullable Single.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore massimo Single.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza generica e restituisce il valore massimo risultante.

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

Restituisce il valore massimo in una sequenza generica in base a una funzione del selettore di chiave specificata.

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

Restituisce il valore massimo in una sequenza generica in base a una funzione del selettore di chiave e a un operatore di confronto dei tasti specificato.

Min<TSource>(IEnumerable<TSource>)

Restituisce il valore minimo in una sequenza generica.

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

Restituisce il valore minimo in una sequenza generica.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Decimal.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Double.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Int32.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Int64.

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

Richiama una funzione di trasformazione per ogni elemento di una sequenza e restituisce il valore minimo nullable Decimal.

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

Richiama una funzione di trasformazione per ogni elemento di una sequenza e restituisce il valore minimo nullable Double.

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

Richiama una funzione di trasformazione per ogni elemento di una sequenza e restituisce il valore minimo nullable Int32.

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

Richiama una funzione di trasformazione per ogni elemento di una sequenza e restituisce il valore minimo nullable Int64.

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

Richiama una funzione di trasformazione per ogni elemento di una sequenza e restituisce il valore minimo nullable Single.

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

Richiama una funzione di trasformazione su ogni elemento di una sequenza e restituisce il valore minimo Single.

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

Richiama una funzione di trasformazione per ogni elemento di una sequenza generica e restituisce il valore minimo risultante.

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

Restituisce il valore minimo in una sequenza generica in base a una funzione del selettore di chiave specificata.

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

Restituisce il valore minimo in una sequenza generica in base a una funzione del selettore di chiave e all'operatore di confronto dei tasti specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Order<T>(IEnumerable<T>)

Ordina gli elementi di una sequenza in ordine crescente.

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

Ordina gli elementi di una sequenza in ordine crescente.

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

Ordina gli elementi di una sequenza in ordine crescente in base a una chiave.

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

Ordina gli elementi di una sequenza in ordine crescente usando un operatore di confronto specificato.

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

Ordina gli elementi di una sequenza in ordine decrescente in base a una chiave.

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

Ordina gli elementi di una sequenza in ordine decrescente usando un operatore di confronto specificato.

OrderDescending<T>(IEnumerable<T>)

Ordina gli elementi di una sequenza in ordine decrescente.

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

Ordina gli elementi di una sequenza in ordine decrescente.

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

Aggiunge un valore all'inizio della sequenza.

Reverse<TSource>(IEnumerable<TSource>)

Inverte l'ordine degli elementi in una sequenza.

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

Proietta ogni elemento di una sequenza in un nuovo form.

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

Proietta ogni elemento di una sequenza in un nuovo form incorporando l'indice dell'elemento.

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

Proietta ogni elemento di una sequenza in un IEnumerable<T> e rende flat le sequenze risultanti in un'unica sequenza.

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

Proietta ogni elemento di una sequenza in un IEnumerable<T>e rende flat le sequenze risultanti in una sola sequenza. L'indice di ogni elemento di origine viene utilizzato nella forma proiettata di tale elemento.

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

Proietta ogni elemento di una sequenza in un IEnumerable<T>, rende flat le sequenze risultanti in una sequenza e richiama una funzione del selettore di risultati in ogni elemento.

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

Proietta ogni elemento di una sequenza in un IEnumerable<T>, rende flat le sequenze risultanti in una sequenza e richiama una funzione del selettore di risultati in ogni elemento. L'indice di ogni elemento di origine viene utilizzato nella forma intermedia proiettata di tale elemento.

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

Determina se due sequenze sono uguali confrontando gli elementi usando l'operatore di confronto di uguaglianza predefinito per il tipo.

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

Determina se due sequenze sono uguali confrontando i relativi elementi utilizzando un IEqualityComparer<T>specificato.

Single<TSource>(IEnumerable<TSource>)

Restituisce l'unico elemento di una sequenza e genera un'eccezione se non è presente esattamente un elemento nella sequenza.

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

Restituisce l'unico elemento di una sequenza che soddisfa una condizione specificata e genera un'eccezione se esiste più di un elemento di questo tipo.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Restituisce l'unico elemento di una sequenza o un valore predefinito se la sequenza è vuota; questo metodo genera un'eccezione se nella sequenza sono presenti più elementi.

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

Restituisce l'unico elemento di una sequenza o un valore predefinito specificato se la sequenza è vuota; questo metodo genera un'eccezione se nella sequenza sono presenti più elementi.

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

Restituisce l'unico elemento di una sequenza che soddisfa una condizione specificata o un valore predefinito se tale elemento non esiste; questo metodo genera un'eccezione se più di un elemento soddisfa la condizione.

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

Restituisce l'unico elemento di una sequenza che soddisfa una condizione specificata o un valore predefinito specificato se tale elemento non esiste; questo metodo genera un'eccezione se più di un elemento soddisfa la condizione.

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

Ignora un numero specificato di elementi in una sequenza e quindi restituisce gli elementi rimanenti.

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

Restituisce una nuova raccolta enumerabile che contiene gli elementi di source con gli ultimi elementi count della raccolta di origine omessi.

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

Ignora gli elementi in una sequenza purché una condizione specificata sia true e quindi restituisca gli elementi rimanenti.

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

Ignora gli elementi in una sequenza purché una condizione specificata sia true e quindi restituisca gli elementi rimanenti. L'indice dell'elemento viene usato nella logica della funzione predicato.

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

Calcola la somma della sequenza di Decimal valori ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Double valori ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Int32 valori ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Int64 valori ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Decimal ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Double ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Int32 ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Int64 ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Single ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Single valori ottenuti richiamando una funzione di trasformazione in ogni elemento della sequenza di input.

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

Restituisce un numero specificato di elementi contigui dall'inizio di una sequenza.

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

Restituisce un intervallo specificato di elementi contigui da una sequenza.

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

Restituisce una nuova raccolta enumerabile che contiene gli ultimi elementi count di source.

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

Restituisce elementi da una sequenza purché una condizione specificata sia true.

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

Restituisce elementi da una sequenza purché una condizione specificata sia true. L'indice dell'elemento viene usato nella logica della funzione predicato.

ToArray<TSource>(IEnumerable<TSource>)

Crea una matrice da un IEnumerable<T>.

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

Crea un Dictionary<TKey,TValue> da un IEnumerable<T> in base a una funzione del selettore di chiave specificata.

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

Crea un Dictionary<TKey,TValue> da un IEnumerable<T> in base a una funzione del selettore di chiave e a un operatore di confronto dei tasti specificati.

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

Crea un Dictionary<TKey,TValue> da un IEnumerable<T> in base ai selettori di chiave e alle funzioni del selettore di elementi specificati.

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

Crea un Dictionary<TKey,TValue> da un IEnumerable<T> in base a una funzione del selettore di chiave, a un operatore di confronto e a una funzione del selettore di elementi.

ToHashSet<TSource>(IEnumerable<TSource>)

Crea un HashSet<T> da un IEnumerable<T>.

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

Crea un HashSet<T> da un IEnumerable<T> usando il comparer per confrontare le chiavi.

ToList<TSource>(IEnumerable<TSource>)

Crea un List<T> da un IEnumerable<T>.

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

Crea un Lookup<TKey,TElement> da un IEnumerable<T> in base a una funzione del selettore di chiave specificata.

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

Crea un Lookup<TKey,TElement> da un IEnumerable<T> in base a una funzione del selettore di chiave e a un operatore di confronto dei tasti specificati.

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

Crea un Lookup<TKey,TElement> da un IEnumerable<T> in base ai selettori di chiave e alle funzioni del selettore di elementi specificati.

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

Crea un Lookup<TKey,TElement> da un IEnumerable<T> in base a una funzione del selettore di chiave specificata, un operatore di confronto e una funzione selettore di elementi.

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

Tenta di determinare il numero di elementi in una sequenza senza forzare un'enumerazione.

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

Produce l'unione di set di due sequenze usando l'operatore di confronto di uguaglianza predefinito.

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

Produce l'unione set di due sequenze utilizzando un IEqualityComparer<T>specificato.

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

Produce l'unione di set di due sequenze in base a una funzione del selettore di chiave specificata.

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

Produce l'unione di set di due sequenze in base a una funzione del selettore di chiave specificata.

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

Filtra una sequenza di valori in base a un predicato.

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

Filtra una sequenza di valori in base a un predicato. L'indice di ogni elemento viene usato nella logica della funzione predicato.

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

Produce una sequenza di tuple con elementi delle due sequenze specificate.

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

Produce una sequenza di tuple con elementi delle tre sequenze specificate.

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

Applica una funzione specificata agli elementi corrispondenti di due sequenze, generando una sequenza dei risultati.

AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsParallel<TSource>(IEnumerable<TSource>)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Converte un IEnumerable<T> generico in un IQueryable<T>generico.

Ancestors<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene i predecessori di ogni nodo nella raccolta di origine.

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

Restituisce una raccolta filtrata di elementi che contiene i predecessori di ogni nodo nella raccolta di origine. Nella raccolta sono inclusi solo gli elementi con un XName corrispondente.

DescendantNodes<T>(IEnumerable<T>)

Restituisce una raccolta dei nodi discendenti di ogni documento e elemento nella raccolta di origine.

Descendants<T>(IEnumerable<T>)

Restituisce una raccolta di elementi che contiene gli elementi discendenti di ogni elemento e documento nella raccolta di origine.

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

Restituisce una raccolta filtrata di elementi che contiene gli elementi discendenti di ogni elemento e documento nella raccolta di origine. Nella raccolta sono inclusi solo gli elementi con un XName corrispondente.

Elements<T>(IEnumerable<T>)

Restituisce un insieme degli elementi figlio di ogni elemento e documento nella raccolta di origine.

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

Restituisce una raccolta filtrata degli elementi figlio di ogni elemento e documento nella raccolta di origine. Nella raccolta sono inclusi solo gli elementi con un XName corrispondente.

InDocumentOrder<T>(IEnumerable<T>)

Restituisce una raccolta di nodi che contiene tutti i nodi della raccolta di origine, ordinati in base all'ordine dei documenti.

Nodes<T>(IEnumerable<T>)

Restituisce una raccolta dei nodi figlio di ogni documento e elemento nella raccolta di origine.

Remove<T>(IEnumerable<T>)

Rimuove ogni nodo nella raccolta di origine dal nodo padre.

Si applica a

Thread safety

I membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. Non è garantito che tutti i membri dell'istanza siano thread-safe.

Un SortedList<TKey,TValue> può supportare contemporaneamente più lettori, purché la raccolta non venga modificata. Anche in questo caso, l'enumerazione tramite una raccolta non è intrinsecamente una procedura thread-safe. Per garantire la thread safety durante l'enumerazione, è possibile bloccare la raccolta durante l'intera enumerazione. Per consentire l'accesso alla raccolta da parte di più thread per la lettura e la scrittura, è necessario implementare la propria sincronizzazione.

Vedi anche