BlockingCollection<T> Classe

Définition

Fournit des fonctions bloquantes et englobantes pour les collections thread-safe qui implémentent IProducerConsumerCollection<T>.

generic <typename T>
public ref class BlockingCollection : IDisposable, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::ICollection
generic <typename T>
public ref class BlockingCollection : IDisposable, System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
type BlockingCollection<'T> = class
    interface seq<'T>
    interface IEnumerable
    interface IReadOnlyCollection<'T>
    interface ICollection
    interface IDisposable
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type BlockingCollection<'T> = class
    interface seq<'T>
    interface IEnumerable
    interface IReadOnlyCollection<'T>
    interface ICollection
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type BlockingCollection<'T> = class
    interface seq<'T>
    interface ICollection
    interface IEnumerable
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type BlockingCollection<'T> = class
    interface seq<'T>
    interface IEnumerable
    interface ICollection
    interface IDisposable
    interface IReadOnlyCollection<'T>
type BlockingCollection<'T> = class
    interface seq<'T>
    interface ICollection
    interface IEnumerable
    interface IDisposable
Public Class BlockingCollection(Of T)
Implements ICollection, IDisposable, IEnumerable(Of T), IReadOnlyCollection(Of T)
Public Class BlockingCollection(Of T)
Implements ICollection, IDisposable, IEnumerable(Of T)

Paramètres de type

T

Type des éléments de la collection.

Héritage
BlockingCollection<T>
Attributs
Implémente

Exemples

L’exemple suivant montre comment ajouter et prendre des éléments simultanément à partir d’une collection bloquante :

using System;
using System.Collections.Concurrent;
using System.Threading;
using System.Threading.Tasks;

class BlockingCollectionDemo
{
    static async Task Main()
    {
        await AddTakeDemo.BC_AddTakeCompleteAdding();
        TryTakeDemo.BC_TryTake();
        FromToAnyDemo.BC_FromToAny();
        await ConsumingEnumerableDemo.BC_GetConsumingEnumerable();
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
class AddTakeDemo
{
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.Take()
    //      BlockingCollection<T>.CompleteAdding()
    public static async Task BC_AddTakeCompleteAdding()
    {
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {
            // Spin up a Task to populate the BlockingCollection
            Task t1 = Task.Run(() =>
            {
                bc.Add(1);
                bc.Add(2);
                bc.Add(3);
                bc.CompleteAdding();
            });

            // Spin up a Task to consume the BlockingCollection
            Task t2 = Task.Run(() =>
            {
                try
                {
                    // Consume the BlockingCollection
                    while (true) Console.WriteLine(bc.Take());
                }
                catch (InvalidOperationException)
                {
                    // An InvalidOperationException means that Take() was called on a completed collection
                    Console.WriteLine("That's All!");
                }
            });

            await Task.WhenAll(t1, t2);
        }
    }
}

class TryTakeDemo
{
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.TryTake()
    //      BlockingCollection<T>.IsCompleted
    public static void BC_TryTake()
    {
        // Construct and fill our BlockingCollection
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {
            int NUMITEMS = 10000;
            for (int i = 0; i < NUMITEMS; i++) bc.Add(i);
            bc.CompleteAdding();
            int outerSum = 0;

            // Delegate for consuming the BlockingCollection and adding up all items
            Action action = () =>
            {
                int localItem;
                int localSum = 0;

                while (bc.TryTake(out localItem)) localSum += localItem;
                Interlocked.Add(ref outerSum, localSum);
            };

            // Launch three parallel actions to consume the BlockingCollection
            Parallel.Invoke(action, action, action);

            Console.WriteLine("Sum[0..{0}) = {1}, should be {2}", NUMITEMS, outerSum, ((NUMITEMS * (NUMITEMS - 1)) / 2));
            Console.WriteLine("bc.IsCompleted = {0} (should be true)", bc.IsCompleted);
        }
    }
}

class FromToAnyDemo
{
    // Demonstrates:
    //      Bounded BlockingCollection<T>
    //      BlockingCollection<T>.TryAddToAny()
    //      BlockingCollection<T>.TryTakeFromAny()
    public static void BC_FromToAny()
    {
        BlockingCollection<int>[] bcs = new BlockingCollection<int>[2];
        bcs[0] = new BlockingCollection<int>(5); // collection bounded to 5 items
        bcs[1] = new BlockingCollection<int>(5); // collection bounded to 5 items

        // Should be able to add 10 items w/o blocking
        int numFailures = 0;
        for (int i = 0; i < 10; i++)
        {
            if (BlockingCollection<int>.TryAddToAny(bcs, i) == -1) numFailures++;
        }
        Console.WriteLine("TryAddToAny: {0} failures (should be 0)", numFailures);

        // Should be able to retrieve 10 items
        int numItems = 0;
        int item;
        while (BlockingCollection<int>.TryTakeFromAny(bcs, out item) != -1) numItems++;
        Console.WriteLine("TryTakeFromAny: retrieved {0} items (should be 10)", numItems);
    }
}

class ConsumingEnumerableDemo
{
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.GetConsumingEnumerable()
    public static async Task BC_GetConsumingEnumerable()
    {
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {
            // Kick off a producer task
            var producerTask = Task.Run(async () =>
            {
                for (int i = 0; i < 10; i++)
                {
                    bc.Add(i);
                    Console.WriteLine($"Producing: {i}");

                    await Task.Delay(100); // sleep 100 ms between adds
                }

                // Need to do this to keep foreach below from hanging
                bc.CompleteAdding();
            });

            // Now consume the blocking collection with foreach.
            // Use bc.GetConsumingEnumerable() instead of just bc because the
            // former will block waiting for completion and the latter will
            // simply take a snapshot of the current state of the underlying collection.
            foreach (var item in bc.GetConsumingEnumerable())
            {
                Console.WriteLine($"Consuming: {item}");
            }
            await producerTask; // Allow task to complete cleanup
        }
    }
}
open System
open System.Collections.Concurrent
open System.Threading
open System.Threading.Tasks

module AddTakeDemo =
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.Take()
    //      BlockingCollection<T>.CompleteAdding()
    let blockingCollectionAddTakeCompleteAdding () =
        task {
            use bc = new BlockingCollection<int>()
            // Spin up a Task to populate the BlockingCollection
            let t1 = 
                task {
                    bc.Add 1
                    bc.Add 2
                    bc.Add 3
                    bc.CompleteAdding()
                }

            // Spin up a Task to consume the BlockingCollection
            let t2 = 
                task {
                    try
                        // Consume consume the BlockingCollection
                        while true do 
                            printfn $"{bc.Take()}"
                    with :? InvalidOperationException ->
                        // An InvalidOperationException means that Take() was called on a completed collection
                        printfn "That's All!"
                }
            let! _ = Task.WhenAll(t1, t2)
            ()
        }

module TryTakeDemo =
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.TryTake()
    //      BlockingCollection<T>.IsCompleted
    let blockingCollectionTryTake () =
        // Construct and fill our BlockingCollection
        use bc = new BlockingCollection<int>()
        let NUMITEMS = 10000;
        for i = 0 to NUMITEMS - 1 do
            bc.Add i
        bc.CompleteAdding()
        let mutable outerSum = 0

        // Delegate for consuming the BlockingCollection and adding up all items
        let action = 
            Action(fun () ->
                let mutable localItem = 0
                let mutable localSum = 0

                while bc.TryTake &localItem do
                    localSum <- localSum + localItem
                Interlocked.Add(&outerSum, localSum)
                |> ignore)

        // Launch three parallel actions to consume the BlockingCollection
        Parallel.Invoke(action, action, action)

        printfn $"Sum[0..{NUMITEMS}) = {outerSum}, should be {((NUMITEMS * (NUMITEMS - 1)) / 2)}"
        printfn $"bc.IsCompleted = {bc.IsCompleted} (should be true)"

module FromToAnyDemo =
    // Demonstrates:
    //      Bounded BlockingCollection<T>
    //      BlockingCollection<T>.TryAddToAny()
    //      BlockingCollection<T>.TryTakeFromAny()
    let blockingCollectionFromToAny () =
        let bcs = 
            [|
                new BlockingCollection<int>(5) // collection bounded to 5 items
                new BlockingCollection<int>(5) // collection bounded to 5 items
             |]
        // Should be able to add 10 items w/o blocking
        let mutable numFailures = 0;
        for i = 0 to 9 do
            if BlockingCollection<int>.TryAddToAny(bcs, i) = -1 then
                numFailures <- numFailures + 1
        printfn $"TryAddToAny: {numFailures} failures (should be 0)"

        // Should be able to retrieve 10 items
        let mutable numItems = 0
        let mutable item = 0
        while BlockingCollection<int>.TryTakeFromAny(bcs, &item) <> -1 do
            numItems <- numItems + 1
        printfn $"TryTakeFromAny: retrieved {numItems} items (should be 10)"

module ConsumingEnumerableDemo =
    // Demonstrates:
    //      BlockingCollection<T>.Add()
    //      BlockingCollection<T>.CompleteAdding()
    //      BlockingCollection<T>.GetConsumingEnumerable()
    let blockingCollectionGetConsumingEnumerable () =
        task {
            use bc = new BlockingCollection<int>()
            // Kick off a producer task
            let producerTask =
                task {
                    for i = 0 to 9 do
                        bc.Add i
                        printfn $"Producing: {i}"

                        do! Task.Delay 100 // sleep 100 ms between adds
                    // Need to do this to keep foreach below from hanging
                    bc.CompleteAdding()
                }

            // Now consume the blocking collection with foreach.
            // Use bc.GetConsumingEnumerable() instead of just bc because the
            // former will block waiting for completion and the latter will
            // simply take a snapshot of the current state of the underlying collection.
            for item in bc.GetConsumingEnumerable() do
                printfn $"Consuming: {item}"
            do! producerTask // Allow task to complete cleanup
        }

let main =
    task {
        do! AddTakeDemo.blockingCollectionAddTakeCompleteAdding ()
        TryTakeDemo.blockingCollectionTryTake ()
        FromToAnyDemo.blockingCollectionFromToAny ()
        do! ConsumingEnumerableDemo.blockingCollectionGetConsumingEnumerable ()
        printfn "Press any key to exit."
        Console.ReadKey(true) |> ignore
    }
main.Wait()
Imports System.Threading.Tasks
Imports System.Collections.Concurrent
Imports System.Threading

Class BlockingCollectionDemo
    Shared Sub Main()
        AddTakeDemo.BC_AddTakeCompleteAdding()
        TryTakeDemo.BC_TryTake()
        ToAnyDemo.BC_ToAny()
        ConsumingEnumerableDemo.BC_GetConsumingEnumerable()
        ' Keep the console window open in debug mode
        Console.WriteLine("Press any key to exit.")
        Console.ReadKey()
    End Sub
End Class

Class AddTakeDemo

    ' Demonstrates:
    ' BlockingCollection<T>.Add()
    ' BlockingCollection<T>.Take()
    ' BlockingCollection<T>.CompleteAdding()
    Shared Sub BC_AddTakeCompleteAdding()
        Using bc As New BlockingCollection(Of Integer)()

            ' Spin up a Task to populate the BlockingCollection 
            Using t1 As Task = Task.Factory.StartNew(
                Sub()
                    bc.Add(1)
                    bc.Add(2)
                    bc.Add(3)
                    bc.CompleteAdding()
                End Sub)
                ' Spin up a Task to consume the BlockingCollection
                Using t2 As Task = Task.Factory.StartNew(
                Sub()
                    Try
                        ' Consume the BlockingCollection
                        While True
                            Console.WriteLine(bc.Take())
                        End While
                    Catch generatedExceptionName As InvalidOperationException
                        ' An InvalidOperationException means that Take() was called on a completed collection
                        Console.WriteLine("That's All!")
                    End Try
                End Sub)

                    Task.WaitAll(t1, t2)
                End Using
            End Using
        End Using
    End Sub



End Class

'Imports System.Collections.Concurrent
'Imports System.Threading
'Imports System.Threading.Tasks

Class TryTakeDemo
    ' Demonstrates:
    ' BlockingCollection<T>.Add()
    ' BlockingCollection<T>.CompleteAdding()
    ' BlockingCollection<T>.TryTake()
    ' BlockingCollection<T>.IsCompleted
    Shared Sub BC_TryTake()
        ' Construct and fill our BlockingCollection
        Using bc As New BlockingCollection(Of Integer)()
            Dim NUMITEMS As Integer = 10000
            For i As Integer = 0 To NUMITEMS - 1
                bc.Add(i)
            Next
            bc.CompleteAdding()
            Dim outerSum As Integer = 0

            ' Delegate for consuming the BlockingCollection and adding up all items
            Dim action As Action =
                Sub()
                    Dim localItem As Integer
                    Dim localSum As Integer = 0

                    While bc.TryTake(localItem)
                        localSum += localItem
                    End While
                    Interlocked.Add(outerSum, localSum)
                End Sub

            ' Launch three parallel actions to consume the BlockingCollection
            Parallel.Invoke(action, action, action)

            Console.WriteLine("Sum[0..{0}) = {1}, should be {2}", NUMITEMS, outerSum, ((NUMITEMS * (NUMITEMS - 1)) / 2))
            Console.WriteLine("bc.IsCompleted = {0} (should be true)", bc.IsCompleted)
        End Using
    End Sub

End Class

'Imports System.Threading.Tasks
'Imports System.Collections.Concurrent

' Demonstrates:
' Bounded BlockingCollection<T>
' BlockingCollection<T>.TryAddToAny()
' BlockingCollection<T>.TryTakeFromAny()
Class ToAnyDemo
    Shared Sub BC_ToAny()
        Dim bcs As BlockingCollection(Of Integer)() = New BlockingCollection(Of Integer)(1) {}
        bcs(0) = New BlockingCollection(Of Integer)(5)
        ' collection bounded to 5 items
        bcs(1) = New BlockingCollection(Of Integer)(5)
        ' collection bounded to 5 items
        ' Should be able to add 10 items w/o blocking
        Dim numFailures As Integer = 0
        For i As Integer = 0 To 9
            If BlockingCollection(Of Integer).TryAddToAny(bcs, i) = -1 Then
                numFailures += 1
            End If
        Next
        Console.WriteLine("TryAddToAny: {0} failures (should be 0)", numFailures)

        ' Should be able to retrieve 10 items
        Dim numItems As Integer = 0
        Dim item As Integer
        While BlockingCollection(Of Integer).TryTakeFromAny(bcs, item) <> -1
            numItems += 1
        End While
        Console.WriteLine("TryTakeFromAny: retrieved {0} items (should be 10)", numItems)
    End Sub
End Class

'Imports System.Threading.Tasks
'Imports System.Collections.Concurrent

' Demonstrates:
' BlockingCollection<T>.Add()
' BlockingCollection<T>.CompleteAdding()
' BlockingCollection<T>.GetConsumingEnumerable()

Class ConsumingEnumerableDemo
    Shared Sub BC_GetConsumingEnumerable()
        Using bc As New BlockingCollection(Of Integer)()

            ' Kick off a producer task
            Task.Factory.StartNew(
                Sub()
                    For i As Integer = 0 To 9
                        bc.Add(i)
                        ' sleep 100 ms between adds
                        Thread.Sleep(100)
                    Next

                    ' Need to do this to keep foreach below from not responding.
                    bc.CompleteAdding()
                End Sub)
            ' Now consume the blocking collection with foreach.
            ' Use bc.GetConsumingEnumerable() instead of just bc because the
            ' former will block waiting for completion and the latter will
            ' simply take a snapshot of the current state of the underlying collection.
            For Each item In bc.GetConsumingEnumerable()
                Console.WriteLine(item)
            Next
        End Using
    End Sub
End Class

Remarques

BlockingCollection<T> est une classe de collection thread-safe qui fournit les éléments suivants :

Important

Ce type implémente l'interface IDisposable. Une fois que vous avez fini d’utiliser le type, vous devez le supprimer directement ou indirectement. Pour supprimer directement le type Dispose, appelez sa méthode dans un bloc try/catch. Pour la supprimer indirectement, utilisez une construction de langage telle que using (dans C#) ou Using (dans Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente IDisposable » dans la rubrique de l’interface IDisposable. Notez également que la Dispose() méthode n’est pas thread-safe. Tous les autres membres publics et protégés de BlockingCollection<T> sont thread-safe et peuvent être utilisés simultanément à partir de plusieurs threads.

IProducerConsumerCollection<T> représente une collection qui permet l’ajout et la suppression de données thread-safe. BlockingCollection<T>est utilisé comme wrapper pour un IProducerConsumerCollection<T> instance et autorise les tentatives de suppression de la collection à bloquer jusqu’à ce que les données soient disponibles pour être supprimées. De même, vous pouvez créer un BlockingCollection<T> pour appliquer une limite supérieure au nombre d’éléments de données autorisés dans le IProducerConsumerCollection<T>; les tentatives d’ajout à la collection peuvent alors se bloquer jusqu’à ce que l’espace soit disponible pour stocker les éléments ajoutés. De cette façon, BlockingCollection<T> est similaire à une structure de données de file d’attente de blocage classique, à ceci près que le mécanisme de stockage de données sous-jacent est extrait en tant que IProducerConsumerCollection<T>.

BlockingCollection<T> prend en charge la délimitation et le blocage. La délimitation signifie que vous pouvez définir la capacité maximale de la collection. La délimitation est importante dans certains scénarios, car elle vous permet de contrôler la taille maximale de la collection en mémoire et empêche les threads de production de se déplacer trop loin devant les threads consommateurs. Plusieurs threads ou tâches peuvent ajouter des éléments à la collection simultanément, et si la collection atteint sa capacité maximale spécifiée, les threads de production se bloquent jusqu’à ce qu’un élément soit supprimé. Plusieurs consommateurs peuvent supprimer des éléments simultanément, et si la collection devient vide, les threads consommateur se bloquent jusqu’à ce qu’un producteur ajoute un élément. Un thread de production peut appeler la CompleteAdding méthode pour indiquer qu’aucun autre élément ne sera ajouté. Les consommateurs surveillent la propriété IsCompleted pour savoir quand la collection est vide et quand aucun autre élément ne sera ajouté.

Add et Take opérations sont généralement effectuées dans une boucle. Vous pouvez annuler une boucle en passant un CancellationToken objet à la TryAdd méthode ou TryTake , puis en vérifiant la valeur de la propriété du IsCancellationRequested jeton à chaque itération. Si la valeur est true, il vous appartient de répondre à la demande d’annulation en nettoyant toutes les ressources et en quittant la boucle.

Lorsque vous créez un BlockingCollection<T> objet, vous pouvez spécifier non seulement la capacité limitée, mais également le type de collection à utiliser. Par exemple, vous pouvez spécifier un objet pour le ConcurrentQueue<T> comportement de premier entré, premier sorti (FIFO) ou un objet pour le ConcurrentStack<T> comportement du dernier entré, premier sorti (LIFO). Vous pouvez utiliser n’importe quelle classe de collection qui implémente l’interface IProducerConsumerCollection<T>. Le type de collection par défaut pour BlockingCollection<T> est ConcurrentQueue<T>.

Ne modifiez pas directement la collection sous-jacente. Utilisez des BlockingCollection<T> méthodes pour ajouter ou supprimer des éléments. L’objet BlockingCollection<T> peut être endommagé si vous modifiez directement la collection sous-jacente.

BlockingCollection<T> n’a pas été conçu avec l’accès asynchrone à l’esprit. Si votre application nécessite des scénarios de producteur/consommateur asynchrones, envisagez plutôt d’utiliser Channel<T> .

Constructeurs

BlockingCollection<T>()

Initialise une nouvelle instance de la classe BlockingCollection<T> sans limite supérieure.

BlockingCollection<T>(Int32)

Initialise une nouvelle instance de la classe BlockingCollection<T> avec la limite supérieure spécifiée.

BlockingCollection<T>(IProducerConsumerCollection<T>)

Initialise une nouvelle instance de la classe BlockingCollection<T> sans limite supérieure et qui utilise le IProducerConsumerCollection<T> fourni comme magasin de données sous-jacent.

BlockingCollection<T>(IProducerConsumerCollection<T>, Int32)

Initialise une nouvelle instance de la classe BlockingCollection<T> avec la limite supérieure spécifiée et qui utilise le IProducerConsumerCollection<T> fourni comme magasin de données sous-jacent.

Propriétés

BoundedCapacity

Obtient la capacité limite de cette instance de BlockingCollection<T>.

Count

Obtient le nombre d'éléments contenus dans BlockingCollection<T>.

IsAddingCompleted

Obtient si ce BlockingCollection<T> a été marqué comme ne pouvant plus accepter d'ajout.

IsCompleted

Obtient si ce BlockingCollection<T> a été marqué comme ne pouvant plus accepter d'ajout et est vide.

Méthodes

Add(T)

Ajoute l'élément au BlockingCollection<T>.

Add(T, CancellationToken)

Ajoute l'élément au BlockingCollection<T>.

AddToAny(BlockingCollection<T>[], T)

Ajoute l'élément spécifié à l'une des instances de BlockingCollection<T> spécifiées.

AddToAny(BlockingCollection<T>[], T, CancellationToken)

Ajoute l'élément spécifié à l'une des instances de BlockingCollection<T> spécifiées.

CompleteAdding()

Marque les instances de BlockingCollection<T> comme n'acceptant plus d'ajouts.

CopyTo(T[], Int32)

Copie tous les éléments dans l'instance de BlockingCollection<T> dans un tableau compatible unidimensionnel, en commençant à l'index spécifié du tableau cible.

Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe BlockingCollection<T>.

Dispose(Boolean)

Libère les ressources utilisées par l’instance de BlockingCollection<T>.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetConsumingEnumerable()

Fournit un IEnumerable<T> de consommation pour les éléments de la collection.

GetConsumingEnumerable(CancellationToken)

Fournit un IEnumerable<T> de consommation pour les éléments de la collection.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Take()

Supprime un élément de BlockingCollection<T>.

Take(CancellationToken)

Supprime un élément de BlockingCollection<T>.

TakeFromAny(BlockingCollection<T>[], T)

Prend un élément de l'une des instances de BlockingCollection<T> spécifiées.

TakeFromAny(BlockingCollection<T>[], T, CancellationToken)

Prend un élément de l'une des instances de BlockingCollection<T> spécifiées tout en observant le jeton d'annulation spécifié.

ToArray()

Copie les éléments de l'instance de BlockingCollection<T> dans un nouveau tableau.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TryAdd(T)

Tente d'ajouter l'élément spécifié à BlockingCollection<T>.

TryAdd(T, Int32)

Tente d'ajouter l'élément spécifié à BlockingCollection<T> au cours de la période spécifiée.

TryAdd(T, Int32, CancellationToken)

Tente d'ajouter l'élément spécifié à BlockingCollection<T> au cours de la période spécifiée tout en observant un jeton d'annulation.

TryAdd(T, TimeSpan)

Tente d'ajouter l'élément spécifié à BlockingCollection<T>.

TryAddToAny(BlockingCollection<T>[], T)

Tente d'ajouter l'élément spécifié à l'une des instances de BlockingCollection<T> spécifiées.

TryAddToAny(BlockingCollection<T>[], T, Int32)

Tente d'ajouter l'élément spécifié à l'une des instances de BlockingCollection<T> spécifiées.

TryAddToAny(BlockingCollection<T>[], T, Int32, CancellationToken)

Tente d'ajouter l'élément spécifié à l'une des instances de BlockingCollection<T> spécifiées.

TryAddToAny(BlockingCollection<T>[], T, TimeSpan)

Tente d'ajouter l'élément spécifié à l'une des instances de BlockingCollection<T> spécifiées tout en observant le jeton d'annulation spécifié.

TryTake(T)

Tente de supprimer un élément de BlockingCollection<T>.

TryTake(T, Int32)

Tente de supprimer un élément de BlockingCollection<T> au cours de la période spécifiée.

TryTake(T, Int32, CancellationToken)

Tente de supprimer un élément de BlockingCollection<T> au cours de la période spécifiée tout en observant un jeton d'annulation.

TryTake(T, TimeSpan)

Tente de supprimer un élément de BlockingCollection<T> au cours de la période spécifiée.

TryTakeFromAny(BlockingCollection<T>[], T)

Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.

TryTakeFromAny(BlockingCollection<T>[], T, Int32)

Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.

TryTakeFromAny(BlockingCollection<T>[], T, Int32, CancellationToken)

Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.

TryTakeFromAny(BlockingCollection<T>[], T, TimeSpan)

Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.

Implémentations d’interfaces explicites

ICollection.CopyTo(Array, Int32)

Copie tous les éléments dans l'instance de BlockingCollection<T> dans un tableau compatible unidimensionnel, en commençant à l'index spécifié du tableau cible.

ICollection.IsSynchronized

Obtient une valeur indiquant si l’accès à ICollection est synchronisé (thread-safe).

ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès à ICollection. Cette propriété n'est pas prise en charge.

IEnumerable.GetEnumerator()

Fournit un IEnumerator pour les éléments de la collection.

IEnumerable<T>.GetEnumerator()

Fournit un IEnumerator<T> pour les éléments de la collection.

Méthodes d’extension

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

Crée un FrozenDictionary<TKey,TValue> à partir d’une IEnumerable<T> fonction de sélecteur de clé en fonction de spécifiée.

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

Crée un FrozenDictionary<TKey,TValue> à partir de IEnumerable<T> selon des fonctions de sélection de clé et de sélection d'élément spécifiées.

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

Crée un FrozenSet<T> avec les valeurs spécifiées.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Crée un tableau immuable à partir de la collection spécifiée.

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

Construit un dictionnaire immuable à partir de la collection d’éléments existante, en appliquant une fonction de transformation aux clés source.

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

Construit un dictionnaire immuable basé sur une transformation d’une séquence.

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

Énumère et transforme une séquence et produit un dictionnaire immuable de son contenu.

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

Énumère et transforme une séquence et produit un dictionnaire immuable de son contenu à l’aide du comparateur de clé spécifié.

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

Énumère et transforme une séquence et produit un dictionnaire immuable de son contenu à l’aide des comparateurs de clé et de valeur spécifiés.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Énumère une séquence et produit un ensemble immuable de hachage de son contenu.

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

Énumère une séquence, produit un ensemble immuable de hachage de son contenu et utilise le comparateur d’égalité spécifié pour le type d’ensemble.

ToImmutableList<TSource>(IEnumerable<TSource>)

Énumère une séquence et produit une liste immuable de son contenu.

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

Énumère et transforme une séquence et produit un dictionnaire trié immuable de son contenu.

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

Énumère et transforme une séquence et produit un dictionnaire trié immuable de son contenu à l’aide du comparateur de clé spécifié.

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

Énumère et transforme une séquence et produit un dictionnaire trié immuable de son contenu à l’aide des comparateurs de clé et de valeur spécifiés.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Énumère une séquence et produit un ensemble trié immuable de son contenu.

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

Énumère une séquence, produit un ensemble trié immuable de son contenu et utilise le comparateur spécifié.

CopyToDataTable<T>(IEnumerable<T>)

Retourne un DataTable qui contient des copies des objets DataRow, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est DataRow.

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

Copie les objets DataRow vers le DataTable spécifié, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est DataRow.

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

Copie les objets DataRow vers le DataTable spécifié, à partir d'un objet d'entrée IEnumerable<T> où le paramètre générique T est DataRow.

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

Applique une fonction d'accumulation sur une séquence.

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

Applique une fonction d'accumulation sur une séquence. La valeur initiale spécifiée est utilisée comme valeur d'accumulation initiale.

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

Applique une fonction d'accumulation sur une séquence. La valeur initiale spécifiée est utilisée comme valeur d'accumulation initiale et la fonction spécifiée permet de sélectionner la valeur de résultat.

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

Fournit des fonctions bloquantes et englobantes pour les collections thread-safe qui implémentent IProducerConsumerCollection<T>.

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

Fournit des fonctions bloquantes et englobantes pour les collections thread-safe qui implémentent IProducerConsumerCollection<T>.

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

Détermine si tous les éléments d'une séquence satisfont à une condition.

Any<TSource>(IEnumerable<TSource>)

Détermine si une séquence contient des éléments.

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

Détermine si des éléments d'une séquence satisfont à une condition.

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

Ajoute une valeur à la fin de la séquence.

AsEnumerable<TSource>(IEnumerable<TSource>)

Retourne l’entrée typée comme IEnumerable<T>.

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

Calcule la moyenne d'une séquence de valeurs Decimal obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Double obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Int32 obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Int64 obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Decimal nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Double nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Int32 nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Int64 nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Single nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la moyenne d'une séquence de valeurs Single obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

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

Fractionne les éléments d’une séquence en blocs de taille au maximum size.

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

Concatène deux séquences.

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

Détermine si une séquence contient un élément spécifié à l'aide du comparateur d'égalité par défaut.

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

Détermine si une séquence contient un élément spécifié à l'aide du IEqualityComparer<T> indiqué.

Count<TSource>(IEnumerable<TSource>)

Retourne le nombre total d'éléments dans une séquence.

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

Retourne un nombre qui représente les éléments de la séquence spécifiée qui satisfont à une condition.

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

Fournit des fonctions bloquantes et englobantes pour les collections thread-safe qui implémentent IProducerConsumerCollection<T>.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Retourne les éléments de la séquence spécifiée ou la valeur par défaut du paramètre de type dans une collection de singletons si la séquence est vide.

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

Retourne les éléments de la séquence spécifiée ou la valeur indiquée dans une collection de singletons si la séquence est vide.

Distinct<TSource>(IEnumerable<TSource>)

Retourne des éléments distincts d'une séquence et utilise le comparateur d'égalité par défaut pour comparer les valeurs.

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

Retourne des éléments distincts d'une séquence et utilise le IEqualityComparer<T> spécifié pour comparer les valeurs.

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

Retourne des éléments distincts d’une séquence en fonction d’une fonction de sélecteur de clé spécifiée.

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

Retourne des éléments distincts d’une séquence en fonction d’une fonction de sélecteur de clé spécifiée et à l’aide d’un comparateur spécifié pour comparer les clés.

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

Retourne l'élément à une position d'index spécifiée dans une séquence.

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

Retourne l'élément à une position d'index spécifiée dans une séquence.

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

Retourne l’élément situé à un index spécifié dans une séquence ou une valeur par défaut si l’index est hors limites.

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

Retourne l’élément situé à un index spécifié dans une séquence ou une valeur par défaut si l’index est hors limites.

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

Produit la différence entre deux séquences à l'aide du comparateur d'égalité par défaut pour comparer les valeurs.

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

Produit la différence entre deux séquences à l'aide du IEqualityComparer<T> spécifié pour comparer les valeurs.

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

Produit la différence d’ensemble de deux séquences en fonction d’une fonction de sélecteur de clé spécifiée.

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

Produit la différence d’ensemble de deux séquences en fonction d’une fonction de sélecteur de clé spécifiée.

First<TSource>(IEnumerable<TSource>)

Retourne le premier élément d'une séquence.

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

Retourne le premier élément d’une séquence à satisfaire à la condition spécifiée.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Retourne le premier élément d’une séquence ou une valeur par défaut si la séquence ne contient aucun élément.

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

Retourne le premier élément d’une séquence ou une valeur par défaut spécifiée si la séquence ne contient aucun élément.

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

Retourne le premier élément de la séquence à satisfaire à une condition ou une valeur par défaut si aucun élément correspondant n’est trouvé.

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

Retourne le premier élément de la séquence qui remplit une condition, ou une valeur par défaut spécifiée si aucun élément de ce type n’est trouvé.

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

Regroupe les éléments d'une séquence selon la fonction de sélection de clé spécifiée.

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

Regroupe les éléments d'une séquence selon la fonction de sélection de clé spécifiée et compare les clés à l'aide du comparateur indiqué.

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

Regroupe les éléments d'une séquence selon la fonction de sélection de clé spécifiée et projette les éléments de chaque groupe à l'aide de la fonction indiquée.

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

Regroupe les éléments d'une séquence selon une fonction de sélection de clé. Les clés sont comparées à l'aide d'un comparateur et les éléments de chaque groupe sont projetés à l'aide d'une fonction spécifique.

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

Regroupe les éléments d'une séquence selon la fonction de sélection de clé spécifiée et crée une valeur de résultat à partir de chaque groupe et de la clé correspondante.

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

Regroupe les éléments d'une séquence selon la fonction de sélection de clé spécifiée et crée une valeur de résultat à partir de chaque groupe et de la clé correspondante. Les clés sont comparées à l'aide d'un comparateur spécifié.

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

Regroupe les éléments d'une séquence selon la fonction de sélection de clé spécifiée et crée une valeur de résultat à partir de chaque groupe et de la clé correspondante. Les éléments de chaque groupe sont projetés à l'aide d'une fonction spécifique.

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

Regroupe les éléments d'une séquence selon la fonction de sélection de clé spécifiée et crée une valeur de résultat à partir de chaque groupe et de la clé correspondante. Les valeurs de clé sont comparées à l'aide du comparateur spécifié et les éléments de chaque groupe sont projetés à l'aide d'une fonction spécifique.

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

Met en corrélation les éléments de deux séquences en fonction de l'égalité des clés et regroupe les résultats. Le comparateur d'égalité par défaut est utilisé pour comparer les clés.

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

Met en corrélation les éléments de deux séquences en fonction de l'égalité des clés et regroupe les résultats. Un IEqualityComparer<T> spécifié est utilisé pour comparer les clés.

Index<TSource>(IEnumerable<TSource>)

Fournit des fonctions bloquantes et englobantes pour les collections thread-safe qui implémentent IProducerConsumerCollection<T>.

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

Produit l'intersection de deux séquences à l'aide du comparateur d'égalité par défaut pour comparer les valeurs.

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

Produit l'intersection entre deux séquences à l'aide du IEqualityComparer<T> spécifié pour comparer les valeurs.

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

Produit l’intersection définie de deux séquences en fonction d’une fonction de sélecteur de clé spécifiée.

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

Produit l’intersection définie de deux séquences en fonction d’une fonction de sélecteur de clé spécifiée.

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

Met en corrélation les éléments de deux séquences en fonction des clés qui correspondent. Le comparateur d'égalité par défaut est utilisé pour comparer les clés.

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

Met en corrélation les éléments de deux séquences en fonction des clés qui correspondent. Un IEqualityComparer<T> spécifié est utilisé pour comparer les clés.

Last<TSource>(IEnumerable<TSource>)

Retourne le dernier élément d'une séquence.

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

Retourne le dernier élément d’une séquence à satisfaire à la condition spécifiée.

LastOrDefault<TSource>(IEnumerable<TSource>)

Retourne le dernier élément d’une séquence ou une valeur par défaut si la séquence ne contient aucun élément.

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

Retourne le dernier élément d’une séquence ou une valeur par défaut spécifiée si la séquence ne contient aucun élément.

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

Retourne le dernier élément d’une séquence à satisfaire à une condition ou une valeur par défaut si aucun élément correspondant n’est trouvé.

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

Retourne le dernier élément d’une séquence qui remplit une condition, ou une valeur par défaut spécifiée si aucun élément de ce type n’est trouvé.

LongCount<TSource>(IEnumerable<TSource>)

Retourne un Int64 qui représente le nombre total d'éléments dans une séquence.

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

Retourne un Int64 qui représente le nombre total d'éléments dans une séquence à satisfaire à une condition.

Max<TSource>(IEnumerable<TSource>)

Retourne la valeur maximale dans une séquence générique.

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

Retourne la valeur maximale dans une séquence générique.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Decimal maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Double maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int32 maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int64 maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Decimal nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Double nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int32 nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int64 nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Single nullable maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Single maximale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence générique et retourne la valeur résultante maximale.

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

Retourne la valeur maximale dans une séquence générique en fonction d’une fonction de sélecteur de clé spécifiée.

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

Retourne la valeur maximale dans une séquence générique en fonction d’une fonction de sélecteur de clé et d’un comparateur de clés spécifiés.

Min<TSource>(IEnumerable<TSource>)

Retourne la valeur minimale dans une séquence générique.

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

Retourne la valeur minimale dans une séquence générique.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Decimal minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Double minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int32 minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int64 minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Decimal nullable minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Double nullable minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int32 nullable minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Int64 nullable minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Single nullable minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence et retourne la valeur Single minimale.

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

Appelle une fonction de transformation sur chaque élément d'une séquence générique et retourne la valeur résultante minimale.

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

Retourne la valeur minimale dans une séquence générique en fonction d’une fonction de sélecteur de clé spécifiée.

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

Retourne la valeur minimale dans une séquence générique en fonction d’une fonction de sélecteur de clé et d’un comparateur de clés spécifiés.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

Order<T>(IEnumerable<T>)

Trie les éléments d'une séquence dans l'ordre croissant.

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

Trie les éléments d'une séquence dans l'ordre croissant.

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

Trie les éléments d'une séquence dans l'ordre croissant selon une clé.

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

Trie les éléments d'une séquence dans l'ordre croissant à l'aide d'un comparateur spécifié.

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

Trie les éléments d'une séquence dans l'ordre décroissant selon une clé.

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

Trie les éléments d'une séquence dans l'ordre décroissant à l'aide d'un comparateur spécifié.

OrderDescending<T>(IEnumerable<T>)

Trie les éléments d'une séquence dans l'ordre décroissant.

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

Trie les éléments d'une séquence dans l'ordre décroissant.

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

Ajoute une valeur au début de la séquence.

Reverse<TSource>(IEnumerable<TSource>)

Inverse l'ordre des éléments dans une séquence.

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

Projette chaque élément d’une séquence dans un nouveau formulaire.

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

Projette chaque élément d'une séquence dans un nouveau formulaire en incorporant l'index de l'élément.

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

Projette chaque élément d'une séquence sur un IEnumerable<T> et aplatit les séquences résultantes en une seule séquence.

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

Projette chaque élément d'une séquence sur un IEnumerable<T> et aplatit les séquences résultantes en une seule séquence. L'index de chaque élément source est utilisé dans le formulaire projeté de l'élément.

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

Projette chaque élément d'une séquence sur un IEnumerable<T>, aplatit les séquences résultantes en une seule séquence et appelle une fonction de sélection de résultat sur chaque élément inclus.

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

Projette chaque élément d'une séquence sur un IEnumerable<T>, aplatit les séquences résultantes en une seule séquence et appelle une fonction de sélection de résultat sur chaque élément inclus. L'index de chaque élément source est utilisé dans le formulaire intermédiaire projeté de l'élément.

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

Détermine si deux séquences sont égales par une comparaison des types d'élément réalisée à l'aide du comparateur d'égalité par défaut.

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

Détermine si deux séquences sont égales en comparant leurs éléments à l'aide d'un IEqualityComparer<T> spécifié.

Single<TSource>(IEnumerable<TSource>)

Retourne l’élément unique d’une séquence ou lève une exception si cette séquence ne contient pas un seul élément.

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

Retourne le seul élément d’une séquence qui satisfait à une condition spécifique ou lève une exception si cette séquence contient plusieurs éléments respectant cette condition.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Retourne l'élément unique d'une séquence ou une valeur par défaut. Cette méthode lève une exception si cette séquence contient plusieurs éléments.

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

Retourne le seul élément d’une séquence, ou une valeur par défaut spécifiée si la séquence est vide ; cette méthode lève une exception s’il existe plusieurs éléments dans la séquence.

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

Retourne l’élément unique d’une séquence ou une valeur par défaut si cette séquence ne contient pas d’élément respectant cette condition. Cette méthode lève une exception si cette séquence contient plusieurs éléments satisfaisant à cette condition.

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

Retourne le seul élément d’une séquence qui satisfait à une condition spécifiée, ou une valeur par défaut spécifiée s’il n’existe aucun élément de ce type ; cette méthode lève une exception si plusieurs éléments satisfont à la condition.

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

Ignore un nombre spécifié d'éléments dans une séquence puis retourne les éléments restants.

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

Retourne une nouvelle collection énumérable qui contient les éléments de source avec les derniers éléments count de la collection source omise.

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

Ignore des éléments dans une séquence tant que la condition spécifiée a la valeur true, puis retourne les éléments restants.

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

Ignore des éléments dans une séquence tant que la condition spécifiée a la valeur true, puis retourne les éléments restants. L’index de l’élément est utilisé dans la logique de la fonction de prédicat.

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

Calcule la somme d'une séquence de valeurs Decimal obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Double obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Int32 obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Int64 obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Decimal nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Double nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Int32 nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Int64 nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Single nullables obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Calcule la somme d'une séquence de valeurs Single obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

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

Retourne un nombre spécifié d'éléments contigus à partir du début d'une séquence.

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

Retourne une plage spécifiée d’éléments contigus à partir d’une séquence.

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

Retourne une nouvelle collection énumérable qui contient les derniers éléments count de source.

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

Retourne des éléments d'une séquence tant que la condition spécifiée a la valeur true.

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

Retourne des éléments d'une séquence tant que la condition spécifiée a la valeur true. L’index de l’élément est utilisé dans la logique de la fonction de prédicat.

ToArray<TSource>(IEnumerable<TSource>)

Crée un tableau à partir de IEnumerable<T>.

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

Crée un Dictionary<TKey,TValue> à partir d'un IEnumerable<T> selon une fonction de sélection de clé spécifiée.

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

Crée un Dictionary<TKey,TValue> à partir de IEnumerable<T> selon une fonction de sélection de clé spécifiée et un comparateur de clé.

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

Crée un Dictionary<TKey,TValue> à partir de IEnumerable<T> selon des fonctions de sélection de clé et de sélection d'élément spécifiées.

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

Crée un Dictionary<TKey,TValue> à partir de IEnumerable<T> selon une fonction de sélection de clé spécifiée, un comparateur et une fonction de sélection d'élément.

ToHashSet<TSource>(IEnumerable<TSource>)

Crée un HashSet<T> à partir d’un IEnumerable<T>.

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

Crée un HashSet<T> à partir d’un IEnumerable<T> en utilisant comparer pour comparer des clés.

ToList<TSource>(IEnumerable<TSource>)

Crée un List<T> à partir d’un IEnumerable<T>.

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

Crée un Lookup<TKey,TElement> à partir d'un IEnumerable<T> selon une fonction de sélection de clé spécifiée.

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

Crée un Lookup<TKey,TElement> à partir de IEnumerable<T> selon une fonction de sélection de clé spécifiée et un comparateur de clé.

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

Crée un Lookup<TKey,TElement> à partir de IEnumerable<T> selon des fonctions de sélection de clé et de sélection d'élément spécifiées.

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

Crée une Lookup<TKey,TElement> à partir de IEnumerable<T> selon une fonction de sélection de clé spécifiée, un comparateur et une fonction de sélection d'élément.

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

Tente de déterminer le nombre d’éléments d’une séquence sans forcer une énumération.

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

Produit l'union de deux séquences à l'aide du comparateur d'égalité par défaut.

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

Produit l'union de deux séquences à l'aide d'un IEqualityComparer<T> spécifié.

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

Produit l’union d’ensemble de deux séquences en fonction d’une fonction de sélecteur de clé spécifiée.

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

Produit l’union d’ensemble de deux séquences en fonction d’une fonction de sélecteur de clé spécifiée.

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

Filtre une séquence de valeurs selon un prédicat.

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

Filtre une séquence de valeurs selon un prédicat. L'index de chaque élément est utilisé dans la logique de la fonction de prédicat.

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

Produit une séquence de tuples avec des éléments des deux séquences spécifiées.

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

Produit une séquence de tuples avec des éléments des trois séquences spécifiées.

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

Applique une fonction spécifiée aux éléments correspondants de deux séquences pour produire une séquence des résultats.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsParallel<TSource>(IEnumerable<TSource>)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Convertit un IEnumerable<T> générique en IQueryable<T> générique.

Ancestors<T>(IEnumerable<T>)

Retourne une collection d'éléments qui contient les ancêtres de chaque nœud de la collection source.

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

Retourne une collection d'éléments filtrée qui contient les ancêtres de chaque nœud de la collection source. Seuls les éléments avec un XName correspondant sont inclus dans la collection.

DescendantNodes<T>(IEnumerable<T>)

Retourne une collection des nœuds descendants de chaque document et élément de la collection source.

Descendants<T>(IEnumerable<T>)

Retourne une collection d'éléments qui contient les éléments descendants de tous les éléments et tous les documents de la collection source.

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

Retourne une collection d'éléments filtrée qui contient les éléments descendants de tous les éléments et tous les documents de la collection source. Seuls les éléments avec un XName correspondant sont inclus dans la collection.

Elements<T>(IEnumerable<T>)

Retourne une collection des éléments enfants de chaque élément et document de la collection source.

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

Retourne une collection filtrée des éléments enfants de chaque élément et document de la collection source. Seuls les éléments avec un XName correspondant sont inclus dans la collection.

InDocumentOrder<T>(IEnumerable<T>)

Retourne une collection de nœuds qui contient tous les nœuds de la collection source, triés selon l'ordre des documents.

Nodes<T>(IEnumerable<T>)

Retourne une collection des nœuds enfants de chaque document et élément de la collection source.

Remove<T>(IEnumerable<T>)

Supprime chaque nœud de la collection source de son nœud parent.

S’applique à

Cohérence de thread

La méthode Dispose n’est pas thread-safe. Tous les autres membres publics et protégés de BlockingCollection<T> sont thread-safe et peuvent être utilisés simultanément à partir de plusieurs threads.

Voir aussi