List<T> Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un elenco fortemente tipizzato di oggetti a cui è possibile accedere in base all'indice. Fornisce metodi per la ricerca, l'ordinamento e la modifica degli elenchi.
generic <typename T>
public ref class List : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IList<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::Generic::IReadOnlyList<T>, System::Collections::IList
generic <typename T>
public ref class List : System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IList<T>, System::Collections::IList
public class List<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>, System.Collections.IList
[System.Serializable]
public class List<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.IList
[System.Serializable]
public class List<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>, System.Collections.IList
type List<'T> = class
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface IList<'T>
interface IReadOnlyCollection<'T>
interface IReadOnlyList<'T>
interface ICollection
interface IList
[<System.Serializable>]
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface seq<'T>
interface IList
interface ICollection
interface IEnumerable
[<System.Serializable>]
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface IList
interface ICollection
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
interface seq<'T>
interface IEnumerable
[<System.Serializable>]
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface seq<'T>
interface IEnumerable
interface IList
interface ICollection
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
type List<'T> = class
interface IList<'T>
interface ICollection<'T>
interface IReadOnlyList<'T>
interface IReadOnlyCollection<'T>
interface seq<'T>
interface IList
interface ICollection
interface IEnumerable
Public Class List(Of T)
Implements ICollection(Of T), IEnumerable(Of T), IList, IList(Of T), IReadOnlyCollection(Of T), IReadOnlyList(Of T)
Public Class List(Of T)
Implements ICollection(Of T), IEnumerable(Of T), IList, IList(Of T)
Parametri di tipo
- T
Tipo di elementi nell'elenco.
- Ereditarietà
-
List<T>
- Derivato
- Attributi
- Implementazioni
Esempio
Nell'esempio seguente viene illustrato come aggiungere, rimuovere e inserire un semplice oggetto business in un oggetto List<T>.
using System;
using System.Collections.Generic;
// Simple business object. A PartId is used to identify the type of part
// but the part name can change.
public class Part : IEquatable<Part>
{
public string PartName { get; set; }
public int PartId { get; set; }
public override string ToString()
{
return "ID: " + PartId + " Name: " + PartName;
}
public override bool Equals(object obj)
{
if (obj == null) return false;
Part objAsPart = obj as Part;
if (objAsPart == null) return false;
else return Equals(objAsPart);
}
public override int GetHashCode()
{
return PartId;
}
public bool Equals(Part other)
{
if (other == null) return false;
return (this.PartId.Equals(other.PartId));
}
// Should also override == and != operators.
}
public class Example
{
public static void Main()
{
// Create a list of parts.
List<Part> parts = new List<Part>();
// Add parts to the list.
parts.Add(new Part() { PartName = "crank arm", PartId = 1234 });
parts.Add(new Part() { PartName = "chain ring", PartId = 1334 });
parts.Add(new Part() { PartName = "regular seat", PartId = 1434 });
parts.Add(new Part() { PartName = "banana seat", PartId = 1444 });
parts.Add(new Part() { PartName = "cassette", PartId = 1534 });
parts.Add(new Part() { PartName = "shift lever", PartId = 1634 });
// Write out the parts in the list. This will call the overridden ToString method
// in the Part class.
Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
// Check the list for part #1734. This calls the IEquatable.Equals method
// of the Part class, which checks the PartId for equality.
Console.WriteLine("\nContains(\"1734\"): {0}",
parts.Contains(new Part { PartId = 1734, PartName = "" }));
// Insert a new item at position 2.
Console.WriteLine("\nInsert(2, \"1834\")");
parts.Insert(2, new Part() { PartName = "brake lever", PartId = 1834 });
//Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
Console.WriteLine("\nParts[3]: {0}", parts[3]);
Console.WriteLine("\nRemove(\"1534\")");
// This will remove part 1534 even though the PartName is different,
// because the Equals method only checks PartId for equality.
parts.Remove(new Part() { PartId = 1534, PartName = "cogs" });
Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
Console.WriteLine("\nRemoveAt(3)");
// This will remove the part at index 3.
parts.RemoveAt(3);
Console.WriteLine();
foreach (Part aPart in parts)
{
Console.WriteLine(aPart);
}
/*
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1434 Name: regular seat
ID: 1444 Name: banana seat
ID: 1534 Name: cassette
ID: 1634 Name: shift lever
Contains("1734"): False
Insert(2, "1834")
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1834 Name: brake lever
ID: 1434 Name: regular seat
ID: 1444 Name: banana seat
ID: 1534 Name: cassette
ID: 1634 Name: shift lever
Parts[3]: ID: 1434 Name: regular seat
Remove("1534")
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1834 Name: brake lever
ID: 1434 Name: regular seat
ID: 1444 Name: banana seat
ID: 1634 Name: shift lever
RemoveAt(3)
ID: 1234 Name: crank arm
ID: 1334 Name: chain ring
ID: 1834 Name: brake lever
ID: 1444 Name: banana seat
ID: 1634 Name: shift lever
*/
}
}
' Simple business object. A PartId is used to identify the type of part
' but the part name can change.
Public Class Part
Implements IEquatable(Of Part)
Public Property PartName() As String
Get
Return m_PartName
End Get
Set(value As String)
m_PartName = value
End Set
End Property
Private m_PartName As String
Public Property PartId() As Integer
Get
Return m_PartId
End Get
Set(value As Integer)
m_PartId = value
End Set
End Property
Private m_PartId As Integer
Public Overrides Function ToString() As String
Return "ID: " & PartId & " Name: " & PartName
End Function
Public Overrides Function Equals(obj As Object) As Boolean
If obj Is Nothing Then
Return False
End If
Dim objAsPart As Part = TryCast(obj, Part)
If objAsPart Is Nothing Then
Return False
Else
Return Equals(objAsPart)
End If
End Function
Public Overrides Function GetHashCode() As Integer
Return PartId
End Function
Public Overloads Function Equals(other As Part) As Boolean _
Implements IEquatable(Of Part).Equals
If other Is Nothing Then
Return False
End If
Return (Me.PartId.Equals(other.PartId))
End Function
' Should also override == and != operators.
End Class
Public Class Example
Public Shared Sub Main()
' Create a list of parts.
Dim parts As New List(Of Part)()
' Add parts to the list.
parts.Add(New Part() With {
.PartName = "crank arm",
.PartId = 1234
})
parts.Add(New Part() With {
.PartName = "chain ring",
.PartId = 1334
})
parts.Add(New Part() With {
.PartName = "regular seat",
.PartId = 1434
})
parts.Add(New Part() With {
.PartName = "banana seat",
.PartId = 1444
})
parts.Add(New Part() With {
.PartName = "cassette",
.PartId = 1534
})
parts.Add(New Part() With {
.PartName = "shift lever",
.PartId = 1634
})
' Write out the parts in the list. This will call the overridden ToString method
' in the Part class.
Console.WriteLine()
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
' Check the list for part #1734. This calls the IEquatable.Equals method
' of the Part class, which checks the PartId for equality.
Console.WriteLine(vbLf & "Contains(""1734""): {0}", parts.Contains(New Part() With {
.PartId = 1734,
.PartName = ""
}))
' Insert a new item at position 2.
Console.WriteLine(vbLf & "Insert(2, ""1834"")")
parts.Insert(2, New Part() With {
.PartName = "brake lever",
.PartId = 1834
})
'Console.WriteLine();
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
Console.WriteLine(vbLf & "Parts[3]: {0}", parts(3))
Console.WriteLine(vbLf & "Remove(""1534"")")
' This will remove part 1534 even though the PartName is different,
' because the Equals method only checks PartId for equality.
parts.Remove(New Part() With {
.PartId = 1534,
.PartName = "cogs"
})
Console.WriteLine()
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
Console.WriteLine(vbLf & "RemoveAt(3)")
' This will remove part at index 3.
parts.RemoveAt(3)
Console.WriteLine()
For Each aPart As Part In parts
Console.WriteLine(aPart)
Next
End Sub
'
' This example code produces the following output:
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1434 Name: regular seat
' ID: 1444 Name: banana seat
' ID: 1534 Name: cassette
' ID: 1634 Name: shift lever
'
' Contains("1734"): False
'
' Insert(2, "1834")
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1834 Name: brake lever
' ID: 1434 Name: regular seat
' ID: 1444 Name: banana seat
' ID: 1534 Name: cassette
' ID: 1634 Name: shift lever
'
' Parts[3]: ID: 1434 Name: regular seat
'
' Remove("1534")
'
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1834 Name: brake lever
' ID: 1434 Name: regular seat
' ID: 1444 Name: banana seat
' ID: 1634 Name: shift lever
' '
' RemoveAt(3)
'
' ID: 1234 Name: crank arm
' ID: 1334 Name: chain ring
' ID: 1834 Name: brake lever
' ID: 1444 Name: banana seat
' ID: 1634 Name: shift lever
'
End Class
// Simple business object. A PartId is used to identify the type of part
// but the part name can change.
[<CustomEquality; NoComparison>]
type Part = { PartId : int ; mutable PartName : string } with
override this.GetHashCode() = hash this.PartId
override this.Equals(other) =
match other with
| :? Part as p -> this.PartId = p.PartId
| _ -> false
override this.ToString() = sprintf "ID: %i Name: %s" this.PartId this.PartName
[<EntryPoint>]
let main argv =
// We refer to System.Collections.Generic.List<'T> by its type
// abbreviation ResizeArray<'T> to avoid conflicts with the F# List module.
// Note: In F# code, F# linked lists are usually preferred over
// ResizeArray<'T> when an extendable collection is required.
let parts = ResizeArray<_>()
parts.Add({PartName = "crank arm" ; PartId = 1234})
parts.Add({PartName = "chain ring"; PartId = 1334 })
parts.Add({PartName = "regular seat"; PartId = 1434 })
parts.Add({PartName = "banana seat"; PartId = 1444 })
parts.Add({PartName = "cassette"; PartId = 1534 })
parts.Add({PartName = "shift lever"; PartId = 1634 })
// Write out the parts in the ResizeArray. This will call the overridden ToString method
// in the Part type
printfn ""
parts |> Seq.iter (fun p -> printfn "%O" p)
// Check the ResizeArray for part #1734. This calls the IEquatable.Equals method
// of the Part type, which checks the PartId for equality.
printfn "\nContains(\"1734\"): %b" (parts.Contains({PartId=1734; PartName=""}))
// Insert a new item at position 2.
printfn "\nInsert(2, \"1834\")"
parts.Insert(2, { PartName = "brake lever"; PartId = 1834 })
// Write out all parts
parts |> Seq.iter (fun p -> printfn "%O" p)
printfn "\nParts[3]: %O" parts.[3]
printfn "\nRemove(\"1534\")"
// This will remove part 1534 even though the PartName is different,
// because the Equals method only checks PartId for equality.
// Since Remove returns true or false, we need to ignore the result
parts.Remove({PartId=1534; PartName="cogs"}) |> ignore
// Write out all parts
printfn ""
parts |> Seq.iter (fun p -> printfn "%O" p)
printfn "\nRemoveAt(3)"
// This will remove the part at index 3.
parts.RemoveAt(3)
// Write out all parts
printfn ""
parts |> Seq.iter (fun p -> printfn "%O" p)
0 // return an integer exit code
Nell'esempio seguente vengono illustrate diverse proprietà e metodi della List<T> classe generica di tipo string. Per un esempio di tipi complessi List<T>, vedere il metodo Contains.
Il costruttore senza parametri viene usato per creare un elenco di stringhe con la capacità predefinita. La Capacity proprietà viene visualizzata e quindi il Add metodo viene utilizzato per aggiungere diversi elementi. Gli elementi sono elencati e la Capacity proprietà viene nuovamente visualizzata, insieme alla proprietà Count, per indicare che la capacità è stata aumentata secondo necessità.
Il Contains metodo viene utilizzato per verificare la presenza di un elemento nell'elenco, il Insert metodo viene utilizzato per inserire un nuovo elemento al centro dell'elenco e il contenuto dell'elenco viene nuovamente visualizzato.
La proprietà predefinita Item[Int32] (l'indicizzatore in C#) viene usata per recuperare un elemento, il Remove metodo viene usato per rimuovere la prima istanza dell'elemento duplicato aggiunto in precedenza e il contenuto viene visualizzato di nuovo. Il Remove metodo rimuove sempre la prima istanza che rileva.
Il TrimExcess metodo viene usato per ridurre la capacità in base al conteggio e vengono visualizzate le Capacity proprietà e Count . Se la capacità inutilizzata fosse stata inferiore al 10% della capacità totale, l'elenco non sarebbe stato ridimensionato.
Infine, il Clear metodo viene usato per rimuovere tutti gli elementi dall'elenco e vengono visualizzate le Capacity proprietà e Count .
List<string> dinosaurs = new List<string>();
Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
Console.WriteLine("\nContains(\"Deinonychus\"): {0}",
dinosaurs.Contains("Deinonychus"));
Console.WriteLine("\nInsert(2, \"Compsognathus\")");
dinosaurs.Insert(2, "Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
// Shows accessing the list using the Item property.
Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);
Console.WriteLine("\nRemove(\"Compsognathus\")");
dinosaurs.Remove("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
dinosaurs.TrimExcess();
Console.WriteLine("\nTrimExcess()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
dinosaurs.Clear();
Console.WriteLine("\nClear()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);
/* This code example produces the following output:
Capacity: 0
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
Capacity: 8
Count: 5
Contains("Deinonychus"): True
Insert(2, "Compsognathus")
Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus
dinosaurs[3]: Mamenchisaurus
Remove("Compsognathus")
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
TrimExcess()
Capacity: 5
Count: 5
Clear()
Capacity: 5
Count: 0
*/
Public Class Example2
Public Shared Sub Main()
Dim dinosaurs As New List(Of String)
Console.WriteLine(vbLf & "Capacity: {0}", dinosaurs.Capacity)
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Deinonychus")
dinosaurs.Add("Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & "Capacity: {0}", dinosaurs.Capacity)
Console.WriteLine("Count: {0}", dinosaurs.Count)
Console.WriteLine(vbLf & "Contains(""Deinonychus""): {0}",
dinosaurs.Contains("Deinonychus"))
Console.WriteLine(vbLf & "Insert(2, ""Compsognathus"")")
dinosaurs.Insert(2, "Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
' Shows how to access the list using the Item property.
Console.WriteLine(vbLf & "dinosaurs(3): {0}", dinosaurs(3))
Console.WriteLine(vbLf & "Remove(""Compsognathus"")")
dinosaurs.Remove("Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
dinosaurs.TrimExcess()
Console.WriteLine(vbLf & "TrimExcess()")
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity)
Console.WriteLine("Count: {0}", dinosaurs.Count)
dinosaurs.Clear()
Console.WriteLine(vbLf & "Clear()")
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity)
Console.WriteLine("Count: {0}", dinosaurs.Count)
End Sub
End Class
' This code example produces the following output:
'
'Capacity: 0
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'Capacity: 8
'Count: 5
'
'Contains("Deinonychus"): True
'
'Insert(2, "Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Compsognathus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'dinosaurs(3): Mamenchisaurus
'
'Remove("Compsognathus")
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Deinonychus
'Compsognathus
'
'TrimExcess()
'Capacity: 5
'Count: 5
'
'Clear()
'Capacity: 5
'Count: 0
[<EntryPoint>]
let main argv =
// We refer to System.Collections.Generic.List<'T> by its type
// abbreviation ResizeArray<'T> to avoid conflict with the List module.
// Note: In F# code, F# linked lists are usually preferred over
// ResizeArray<'T> when an extendable collection is required.
let dinosaurs = ResizeArray<_>()
// Write out the dinosaurs in the ResizeArray.
let printDinosaurs() =
printfn ""
dinosaurs |> Seq.iter (fun p -> printfn "%O" p)
printfn "\nCapacity: %i" dinosaurs.Capacity
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Deinonychus")
dinosaurs.Add("Compsognathus")
printDinosaurs()
printfn "\nCapacity: %i" dinosaurs.Capacity
printfn "Count: %i" dinosaurs.Count
printfn "\nContains(\"Deinonychus\"): %b" (dinosaurs.Contains("Deinonychus"))
printfn "\nInsert(2, \"Compsognathus\")"
dinosaurs.Insert(2, "Compsognathus")
printDinosaurs()
// Shows accessing the list using the Item property.
printfn "\ndinosaurs[3]: %s" dinosaurs.[3]
printfn "\nRemove(\"Compsognathus\")"
dinosaurs.Remove("Compsognathus") |> ignore
printDinosaurs()
dinosaurs.TrimExcess()
printfn "\nTrimExcess()"
printfn "Capacity: %i" dinosaurs.Capacity
printfn "Count: %i" dinosaurs.Count
dinosaurs.Clear()
printfn "\nClear()"
printfn "Capacity: %i" dinosaurs.Capacity
printfn "Count: %i" dinosaurs.Count
0 // return an integer exit code
(* This code example produces the following output:
Capacity: 0
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
Capacity: 8
Count: 5
Contains("Deinonychus"): true
Insert(2, "Compsognathus")
Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus
dinosaurs[3]: Mamenchisaurus
Remove("Compsognathus")
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus
TrimExcess()
Capacity: 5
Count: 5
Clear()
Capacity: 5
Count: 0
*)
Commenti
La List<T> classe è l'equivalente generico della ArrayList classe . Implementa l'interfaccia IList<T> generica usando una matrice le cui dimensioni sono aumentate dinamicamente in base alle esigenze.
È possibile aggiungere elementi a un List<T> utilizzando i Add metodi o AddRange .
La List<T> classe usa sia un operatore di confronto di uguaglianza che un operatore di confronto degli ordini.
Metodi come Contains, IndexOfLastIndexOf, e Remove usano un operatore di confronto di uguaglianza per gli elementi dell'elenco. L'operatore di confronto di uguaglianza predefinito per il tipo
Tviene determinato nel modo seguente. Se il tipoTimplementa l'interfaccia IEquatable<T> generica, l'operatore di confronto di uguaglianza è il Equals(T) metodo di tale interfaccia; in caso contrario, l'operatore di confronto di uguaglianza predefinito è Object.Equals(Object).Metodi come BinarySearch e Sort usano un operatore di confronto degli ordini per gli elementi dell'elenco. L'operatore di confronto predefinito per il tipo
Tviene determinato come segue. Se il tipoTimplementa l'interfaccia IComparable<T> generica, l'operatore di confronto predefinito è il CompareTo(T) metodo di tale interfaccia. In caso contrario, se il tipoTimplementa l'interfaccia non generica IComparable , l'operatore di confronto predefinito è il CompareTo(Object) metodo di tale interfaccia. Se il tipoTimplementa nessuna interfaccia, non è presente alcun operatore di confronto predefinito e deve essere fornito in modo esplicito un delegato di confronto o di confronto.
Non è garantito l'ordinamento List<T> di . È necessario ordinare prima List<T> di eseguire operazioni , ad esempio BinarySearch, che richiedono l'ordinamento di List<T> .
È possibile accedere a elementi di questa raccolta usando un indice integer. Gli indici in questa raccolta sono in base zero.
List<T> accetta null come valore valido per i tipi di riferimento e consente elementi duplicati.
Per una versione non modificabile della List<T> classe , vedere ImmutableList<T>.
Considerazioni sulle prestazioni
Per decidere se usare la List<T> classe o la ArrayList, entrambe con funzionalità simili, tenere presente che la List<T> classe offre prestazioni migliori nella maggior parte dei casi ed è sicura ai tipi. Se per il tipo T della List<T> classe viene usato un tipo riferimento, il comportamento delle due classi è identico. Tuttavia, se viene utilizzato un tipo di valore per il tipo T, è necessario considerare i problemi di implementazione e confezionamento.
Se per il tipo Tviene usato un tipo valore , il compilatore genera un'implementazione della List<T> classe specifica per tale tipo di valore. Ciò significa che un elemento elenco di un List<T> oggetto non deve essere sottoposto a boxing prima che l'elemento possa essere utilizzato e dopo la creazione di circa 500 elementi elenco, la memoria salvata da elementi di elenco non boxing è maggiore della memoria utilizzata per generare l'implementazione della classe.
Assicurarsi che il tipo di valore usato per il tipo T implementi l'interfaccia IEquatable<T> generica. In caso contrario, i metodi come Contains devono chiamare il Object.Equals(Object) metodo , che riquadri l'elemento dell'elenco interessato. Se il tipo valore implementa l'interfaccia IComparable e si è proprietari del codice sorgente, implementare anche l'interfaccia IComparable<T> generica per impedire ai BinarySearch metodi e Sort di eseguire il boxing degli elementi elenco. Se non si è proprietari del codice sorgente, passare un oggetto IComparer<T> ai metodi BinarySearch e Sort.
Conviene utilizzare l'implementazione specifica del tipo della classe List<T> anziché usare la classe ArrayList o scrivere manualmente una raccolta wrapper fortemente tipizzata. Ciò è dovuto al fatto che l'implementazione deve eseguire le operazioni già eseguite da .NET e il runtime .NET può condividere il codice e i metadati comuni del linguaggio intermedio, che l'implementazione non può eseguire.
Considerazioni su F#
La List<T> classe viene usata raramente nel codice F#. Gli elenchi, che sono liste concatenate singolarmente e non modificabili, sono in genere preferiti. Un F# List fornisce una serie ordinata e non modificabile di valori ed è supportata per l'uso nello sviluppo in stile funzionale. Se usato da F#, la classe List<T> è tipicamente indicata con l'abbreviazione del tipo ResizeArray<'T> per evitare conflitti di denominazione con le liste F#.
Costruttori
| Nome | Descrizione |
|---|---|
| List<T>() |
Inizializza una nuova istanza della classe List<T> vuota e ha la capacità iniziale predefinita. |
| List<T>(IEnumerable<T>) |
Inizializza una nuova istanza della List<T> classe che contiene elementi copiati dalla raccolta specificata e ha una capacità sufficiente per contenere il numero di elementi copiati. |
| List<T>(Int32) |
Inizializza una nuova istanza della classe List<T> vuota e ha la capacità iniziale specificata. |
Proprietà
| Nome | Descrizione |
|---|---|
| Capacity |
Ottiene o imposta il numero totale di elementi che la struttura di dati interna può contenere senza ridimensionare. |
| Count |
Ottiene il numero di elementi contenuti in List<T>. |
| Item[Int32] |
Ottiene o imposta l'elemento in corrispondenza dell'indice specificato. |
Metodi
| Nome | Descrizione |
|---|---|
| Add(T) |
Aggiunge un oggetto alla fine dell'oggetto List<T>. |
| AddRange(IEnumerable<T>) |
Aggiunge gli elementi della raccolta specificata alla fine dell'oggetto List<T>. |
| AsReadOnly() |
Restituisce un wrapper di sola lettura ReadOnlyCollection<T> per l'insieme corrente. |
| BinarySearch(Int32, Int32, T, IComparer<T>) |
Cerca un intervallo di elementi nel List<T> ordinato per un elemento usando l'operatore di confronto specificato e restituisce l'indice in base zero dell'elemento. |
| BinarySearch(T, IComparer<T>) |
Cerca nell'intero List<T> ordinato un elemento usando l'operatore di confronto specificato e restituisce l'indice in base zero dell'elemento. |
| BinarySearch(T) |
Cerca nell'intero List<T> ordinato un elemento usando l'operatore di confronto predefinito e restituisce l'indice in base zero dell'elemento. |
| Clear() |
Rimuove tutti gli elementi da List<T>. |
| Contains(T) |
Determina se un elemento si trova nel List<T>. |
| ConvertAll<TOutput>(Converter<T,TOutput>) |
Converte gli elementi nell'oggetto corrente List<T> in un altro tipo e restituisce un elenco contenente gli elementi convertiti. |
| CopyTo(Int32, T[], Int32, Int32) |
Copia un intervallo di elementi da List<T> a una matrice unidimensionale compatibile, a partire dall'indice specificato della matrice di destinazione. |
| CopyTo(T[], Int32) |
Copia l'intero List<T> oggetto in una matrice unidimensionale compatibile, a partire dall'indice specificato della matrice di destinazione. |
| CopyTo(T[]) |
Copia l'intero List<T> oggetto in una matrice unidimensionale compatibile, a partire dall'inizio della matrice di destinazione. |
| EnsureCapacity(Int32) |
Assicura che la capacità di questo elenco sia almeno l'oggetto specificato |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Exists(Predicate<T>) |
Determina se contiene List<T> elementi che soddisfano le condizioni definite dal predicato specificato. |
| Find(Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce la prima occorrenza all'interno dell'intero List<T>oggetto . |
| FindAll(Predicate<T>) |
Recupera tutti gli elementi che corrispondono alle condizioni definite dal predicato specificato. |
| FindIndex(Int32, Int32, Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che inizia in corrispondenza dell'indice specificato e contiene il numero specificato di elementi. |
| FindIndex(Int32, Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che si estende dall'indice specificato all'ultimo elemento. |
| FindIndex(Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intero List<T>oggetto . |
| FindLast(Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce l'ultima occorrenza all'interno dell'intero List<T>oggetto . |
| FindLastIndex(Int32, Int32, Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce l'indice in base zero dell'ultima occorrenza all'interno dell'intervallo di elementi in List<T> che contiene il numero specificato di elementi e termina in corrispondenza dell'indice specificato. |
| FindLastIndex(Int32, Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce l'indice in base zero dell'ultima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che si estende dal primo elemento all'indice specificato. |
| FindLastIndex(Predicate<T>) |
Cerca un elemento che corrisponde alle condizioni definite dal predicato specificato e restituisce l'indice in base zero dell'ultima occorrenza all'interno dell'intero List<T>oggetto . |
| ForEach(Action<T>) |
Esegue l'azione specificata su ogni elemento dell'oggetto List<T>. |
| GetEnumerator() |
Restituisce un enumeratore che scorre l'oggetto List<T>. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetRange(Int32, Int32) |
Crea una copia superficiale di un intervallo di elementi nell'origine List<T>. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IndexOf(T, Int32, Int32) |
Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che inizia in corrispondenza dell'indice specificato e contiene il numero specificato di elementi. |
| IndexOf(T, Int32) |
Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che si estende dall'indice specificato all'ultimo elemento. |
| IndexOf(T) |
Cerca l'oggetto specificato e restituisce l'indice in base zero della prima occorrenza all'interno dell'intero List<T>oggetto . |
| Insert(Int32, T) |
Inserisce un elemento nell'oggetto List<T> in corrispondenza dell'indice specificato. |
| InsertRange(Int32, IEnumerable<T>) |
Inserisce gli elementi di una raccolta nella List<T> in corrispondenza dell'indice specificato. |
| LastIndexOf(T, Int32, Int32) |
Cerca l'oggetto specificato e restituisce l'indice in base zero dell'ultima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> contenente il numero specificato di elementi e termina in corrispondenza dell'indice specificato. |
| LastIndexOf(T, Int32) |
Cerca l'oggetto specificato e restituisce l'indice in base zero dell'ultima occorrenza all'interno dell'intervallo di elementi nell'oggetto List<T> che si estende dal primo elemento all'indice specificato. |
| LastIndexOf(T) |
Cerca l'oggetto specificato e restituisce l'indice in base zero dell'ultima occorrenza all'interno dell'intero List<T>oggetto . |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Remove(T) |
Rimuove la prima occorrenza di un oggetto specifico da List<T>. |
| RemoveAll(Predicate<T>) |
Rimuove tutti gli elementi che soddisfano le condizioni definite dal predicato specificato. |
| RemoveAt(Int32) |
Rimuove l'elemento in corrispondenza dell'indice specificato del List<T>. |
| RemoveRange(Int32, Int32) |
Rimuove un intervallo di elementi dal List<T>. |
| Reverse() |
Inverte l'ordine degli elementi nell'intero List<T>. |
| Reverse(Int32, Int32) |
Inverte l'ordine degli elementi nell'intervallo specificato. |
| Slice(Int32, Int32) |
Crea una copia superficiale di un intervallo di elementi nell'origine List<T>. |
| Sort() |
Ordina gli elementi nell'intero List<T> oggetto utilizzando l'operatore di confronto predefinito. |
| Sort(Comparison<T>) |
Ordina gli elementi nell'intero List<T> oggetto utilizzando l'oggetto specificato Comparison<T>. |
| Sort(IComparer<T>) |
Ordina gli elementi nell'intero List<T> usando l'operatore di confronto specificato. |
| Sort(Int32, Int32, IComparer<T>) |
Ordina gli elementi in un intervallo di elementi in List<T> usando l'operatore di confronto specificato. |
| ToArray() |
Copia gli elementi di in List<T> una nuova matrice. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
| TrimExcess() |
Imposta la capacità sul numero effettivo di elementi in List<T>, se tale numero è minore di un valore soglia. |
| TrueForAll(Predicate<T>) |
Determina se ogni elemento nell'oggetto List<T> corrisponde alle condizioni definite dal predicato specificato. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia gli elementi di in ICollection un Arrayoggetto , a partire da un indice specifico Array . |
| ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso ICollection a è sincronizzato (thread-safe). |
| ICollection.SyncRoot |
Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'oggetto ICollection. |
| ICollection<T>.IsReadOnly |
Ottiene un valore che indica se il ICollection<T> è di sola lettura. |
| IEnumerable.GetEnumerator() |
Restituisce un enumeratore che scorre un insieme. |
| IEnumerable<T>.GetEnumerator() |
Restituisce un enumeratore che scorre un insieme. |
| IList.Add(Object) |
Aggiunge un elemento all'oggetto IList. |
| IList.Contains(Object) |
Determina se contiene IList un valore specifico. |
| IList.IndexOf(Object) |
Determina l'indice di un elemento specifico nell'oggetto IList. |
| IList.Insert(Int32, Object) |
Inserisce un elemento nell'oggetto IList in corrispondenza dell'indice specificato. |
| IList.IsFixedSize |
Ottiene un valore che indica se ha IList una dimensione fissa. |
| IList.IsReadOnly |
Ottiene un valore che indica se il IList è di sola lettura. |
| IList.Item[Int32] |
Ottiene o imposta l'elemento in corrispondenza dell'indice specificato. |
| IList.Remove(Object) |
Rimuove la prima occorrenza di un oggetto specifico da IList. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AddRange<T>(List<T>, ReadOnlySpan<T>) |
Aggiunge gli elementi dell'intervallo specificato alla fine di List<T>. |
| 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. |
| 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>(IEnumerable<TSource>, Func<TSource,TSource,TSource>) |
Applica una funzione di enumeratore su una sequenza. |
| AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>) |
Applica una funzione enumerata su una sequenza, raggruppando i risultati in base alla chiave. |
| AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>) |
Applica una funzione enumerata su una sequenza, raggruppando i risultati in base alla chiave. |
| All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Determina se tutti gli elementi di una sequenza soddisfano una condizione. |
| 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. |
| Ancestors<T>(IEnumerable<T>) |
Restituisce una raccolta di elementi che contiene i predecessori di ogni nodo nella raccolta di origine. |
| Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Determina se un elemento di una sequenza soddisfa una condizione. |
| Any<TSource>(IEnumerable<TSource>) |
Determina se una sequenza contiene elementi. |
| Append<TSource>(IEnumerable<TSource>, TSource) |
Aggiunge un valore alla fine della sequenza. |
| AsEnumerable<TSource>(IEnumerable<TSource>) |
Restituisce l'input tipizzato come oggetto IEnumerable<T>. |
| 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. |
| AsReadOnly<T>(IList<T>) |
Restituisce un wrapper di sola ReadOnlyCollection<T> lettura per l'elenco specificato. |
| 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 |
| Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Concatena due sequenze. |
| Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>) |
Determina se una sequenza contiene un elemento specificato utilizzando un IEqualityComparer<T>specificato. |
| Contains<TSource>(IEnumerable<TSource>, TSource) |
Determina se una sequenza contiene un elemento specificato utilizzando l'operatore di confronto di uguaglianza predefinito. |
| CopyTo<T>(List<T>, Span<T>) |
Copia l'intero List<T> oggetto in un intervallo. |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui il parametro generico |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui il parametro generico |
| 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 |
| Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Restituisce un numero che rappresenta il numero di elementi nella sequenza specificata che soddisfano una condizione. |
| Count<TSource>(IEnumerable<TSource>) |
Restituisce il numero di elementi in una sequenza. |
| CountBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Restituisce il numero di elementi nella sequenza di origine raggruppati per chiave. |
| DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) |
Restituisce gli elementi della sequenza specificata o il valore specificato in una raccolta singleton se la sequenza è vuota. |
| 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. |
| DescendantNodes<T>(IEnumerable<T>) |
Restituisce una raccolta dei nodi discendenti di ogni documento e elemento 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. |
| Descendants<T>(IEnumerable<T>) |
Restituisce una raccolta di elementi che contiene gli elementi discendenti di ogni elemento e documento nella raccolta di origine. |
| Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Restituisce elementi distinti da una sequenza utilizzando un IEqualityComparer<T> specificato per confrontare i valori. |
| Distinct<TSource>(IEnumerable<TSource>) |
Restituisce elementi distinti da una sequenza utilizzando l'operatore di confronto di uguaglianza predefinito per confrontare i valori. |
| 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. |
| DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Restituisce elementi distinti da una sequenza in base a una funzione del selettore di chiave specificata. |
| 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. |
| 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. |
| Elements<T>(IEnumerable<T>) |
Restituisce un insieme degli elementi figlio di ogni elemento e documento nella raccolta di origine. |
| 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. |
| 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. |
| 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. |
| 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. |
| First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Restituisce il primo elemento di una sequenza che soddisfa una condizione specificata. |
| First<TSource>(IEnumerable<TSource>) |
Restituisce il primo elemento di una sequenza. |
| 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. |
| 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>, TSource) |
Restituisce il primo elemento di una sequenza o un valore predefinito specificato se la sequenza non contiene elementi. |
| FirstOrDefault<TSource>(IEnumerable<TSource>) |
Restituisce il primo elemento di una sequenza o un valore predefinito se la sequenza non contiene elementi. |
| FullJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
Rappresenta un elenco fortemente tipizzato di oggetti a cui è possibile accedere in base all'indice. Fornisce metodi per la ricerca, l'ordinamento e la modifica degli elenchi. |
| FullJoin<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Rappresenta un elenco fortemente tipizzato di oggetti a cui è possibile accedere in base all'indice. Fornisce metodi per la ricerca, l'ordinamento e la modifica degli elenchi. |
| 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. |
| 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>(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,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,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,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>(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>(IEnumerable<TSource>, Func<TSource,TKey>) |
Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificata. |
| 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. |
| 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>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Rappresenta un elenco fortemente tipizzato di oggetti a cui è possibile accedere in base all'indice. Fornisce metodi per la ricerca, l'ordinamento e la modifica degli elenchi. |
| Index<TSource>(IEnumerable<TSource>) |
Restituisce un enumerabile che incorpora l'indice dell'elemento in una tupla. |
| 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. |
| InsertRange<T>(List<T>, Int32, ReadOnlySpan<T>) |
Inserisce gli elementi di un intervallo nell'oggetto List<T> in corrispondenza dell'indice specificato. |
| Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Produce l'intersezione set di due sequenze utilizzando il IEqualityComparer<T> specificato per confrontare i valori. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Rappresenta un elenco fortemente tipizzato di oggetti a cui è possibile accedere in base all'indice. Fornisce metodi per la ricerca, l'ordinamento e la modifica degli elenchi. |
| Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Restituisce l'ultimo elemento di una sequenza che soddisfa una condizione specificata. |
| Last<TSource>(IEnumerable<TSource>) |
Restituisce l'ultimo elemento di una sequenza. |
| 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. |
| 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>, TSource) |
Restituisce l'ultimo elemento di una sequenza o un valore predefinito specificato se la sequenza non contiene elementi. |
| LastOrDefault<TSource>(IEnumerable<TSource>) |
Restituisce l'ultimo elemento di una sequenza o un valore predefinito se la sequenza non contiene elementi. |
| LeftJoin<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. |
| LeftJoin<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. |
| LeftJoin<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Rappresenta un elenco fortemente tipizzato di oggetti a cui è possibile accedere in base all'indice. Fornisce metodi per la ricerca, l'ordinamento e la modifica degli elenchi. |
| LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Restituisce un Int64 che rappresenta il numero di elementi in una sequenza che soddisfano una condizione. |
| LongCount<TSource>(IEnumerable<TSource>) |
Restituisce un Int64 che rappresenta il numero totale di elementi in una sequenza. |
| 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. |
| 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>(IEnumerable<TSource>, IComparer<TSource>) |
Restituisce il valore massimo in una sequenza generica. |
| Max<TSource>(IEnumerable<TSource>) |
Restituisce il valore massimo in una sequenza generica. |
| 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. |
| 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. |
| 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. |
| 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>(IEnumerable<TSource>, IComparer<TSource>) |
Restituisce il valore minimo in una sequenza generica. |
| Min<TSource>(IEnumerable<TSource>) |
Restituisce il valore minimo in una sequenza generica. |
| 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. |
| 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. |
| Nodes<T>(IEnumerable<T>) |
Restituisce una raccolta dei nodi figlio di ogni documento e elemento nella raccolta di origine. |
| OfType<TResult>(IEnumerable) |
Filtra gli elementi di un IEnumerable in base a un tipo specificato. |
| Order<T>(IEnumerable<T>, IComparer<T>) |
Ordina gli elementi di una sequenza in ordine crescente. |
| Order<T>(IEnumerable<T>) |
Ordina gli elementi di una sequenza in ordine crescente. |
| 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. |
| OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Ordina gli elementi di una sequenza in ordine crescente 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. |
| OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Ordina gli elementi di una sequenza in ordine decrescente in base a una chiave. |
| OrderDescending<T>(IEnumerable<T>, IComparer<T>) |
Ordina gli elementi di una sequenza in ordine decrescente. |
| OrderDescending<T>(IEnumerable<T>) |
Ordina gli elementi di una sequenza in ordine decrescente. |
| Prepend<TSource>(IEnumerable<TSource>, TSource) |
Aggiunge un valore all'inizio della sequenza. |
| Remove<T>(IEnumerable<T>) |
Rimuove ogni nodo nella raccolta di origine dal nodo padre. |
| Reverse<TSource>(IEnumerable<TSource>) |
Inverte l'ordine degli elementi in una sequenza. |
| RightJoin<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. |
| RightJoin<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. |
| RightJoin<TOuter,TInner,TKey>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, IEqualityComparer<TKey>) |
Rappresenta un elenco fortemente tipizzato di oggetti a cui è possibile accedere in base all'indice. Fornisce metodi per la ricerca, l'ordinamento e la modifica degli elenchi. |
| Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>) |
Proietta ogni elemento di una sequenza in un nuovo form incorporando l'indice dell'elemento. |
| Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Proietta ogni elemento di una sequenza in un nuovo form. |
| 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. |
| 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. |
| SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Determina se due sequenze sono uguali confrontando i relativi elementi utilizzando un IEqualityComparer<T>specificato. |
| 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. |
| Shuffle<TSource>(IEnumerable<TSource>) |
Riordina l'ordine degli elementi di una 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. |
| Single<TSource>(IEnumerable<TSource>) |
Restituisce l'unico elemento di una sequenza e genera un'eccezione se non è presente esattamente un elemento nella sequenza. |
| 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. |
| 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>, 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>) |
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. |
| 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 |
| 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 contenente gli ultimi |
| 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>. |
| ToAsyncEnumerable<TSource>(IEnumerable<TSource>) |
Converte un IEnumerable<T> in un IAsyncEnumerable<T>. |
| 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. |
| 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>(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>(IEnumerable<TSource>, Func<TSource,TKey>) |
Crea un Dictionary<TKey,TValue> da un IEnumerable<T> in base a una 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. |
| ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Crea un oggetto FrozenDictionary<TKey,TValue> da un oggetto IEnumerable<T> in base alla funzione del selettore di chiave specificata. |
| ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
Crea un oggetto FrozenSet<T> con i valori specificati. |
| ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Crea un HashSet<T> da un IEnumerable<T> usando il |
| ToHashSet<TSource>(IEnumerable<TSource>) |
Crea un HashSet<T> da un IEnumerable<T>. |
| ToImmutableArray<TSource>(IEnumerable<TSource>) |
Crea una matrice non modificabile dalla raccolta specificata. |
| 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. |
| 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>) |
Enumera e trasforma una sequenza e produce un dizionario non modificabile del relativo contenuto. |
| 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>(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. |
| 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. |
| ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Enumera una sequenza e produce un set di hash non modificabile del relativo contenuto. |
| 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>, 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. |
| 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>) |
Enumera e trasforma una sequenza e produce un dizionario 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. |
| ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Enumera una sequenza e produce un set ordinato non modificabile del relativo contenuto. |
| ToList<TSource>(IEnumerable<TSource>) |
Crea un List<T> da un IEnumerable<T>. |
| 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. |
| 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>(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>(IEnumerable<TSource>, Func<TSource,TKey>) |
Crea un Lookup<TKey,TElement> da un IEnumerable<T> in base a una funzione del selettore di chiave specificata. |
| 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>, IEqualityComparer<TSource>) |
Produce l'unione set di due sequenze utilizzando un IEqualityComparer<T>specificato. |
| Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Produce l'unione di set di due sequenze usando l'operatore di confronto di uguaglianza predefinito. |
| 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. |
| 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. |
| 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,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>) |
Applica una funzione specificata agli elementi corrispondenti di due sequenze, generando una sequenza dei risultati. |
| Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Produce una sequenza di tuple con elementi delle tre sequenze specificate. |
| Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>) |
Produce una sequenza di tuple con elementi delle due sequenze specificate. |
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.
È sicuro eseguire più operazioni di lettura in un oggetto List<T>, ma possono verificarsi problemi se la raccolta viene modificata durante la lettura. Per garantire la thread safety, bloccare la raccolta durante un'operazione di lettura o scrittura. Per consentire l'accesso a una raccolta da parte di più thread per la lettura e la scrittura, è necessario implementare la propria sincronizzazione. Per le raccolte con sincronizzazione predefinita, vedere le classi nello spazio dei System.Collections.Concurrent nomi . Per un'alternativa intrinsecamente thread-safe, vedere la ImmutableList<T> classe .