BlockingCollection<T> Klas

Definitie

Biedt blokkeer- en begrenzingsfuncties voor thread-veilige verzamelingen die IProducerConsumerCollection<T> implementeren.

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.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.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)

Type parameters

T

Het type elementen in de verzameling.

Overname
BlockingCollection<T>
Kenmerken
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u items tegelijk toevoegt en opneemt vanuit een blokkerende verzameling:

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

Opmerkingen

BlockingCollection<T> is een thread-safe-verzamelingsklasse die het volgende biedt:

Belangrijk

Met dit type wordt de IDisposable interface geïmplementeerd. Wanneer u klaar bent met het gebruik van het type, moet u het direct of indirect verwijderen. Als u het type rechtstreeks wilt verwijderen, roept u de Dispose methode aan in een try/catch blok. Als u deze indirect wilt verwijderen, gebruikt u een taalconstructie zoals using (in C#) of Using (in Visual Basic). Zie de sectie 'Using an Object that Implements IDisposable' (Een object gebruiken dat IDisposable implementeert) in het IDisposable interfaceonderwerp voor meer informatie. Houd er ook rekening mee dat de Dispose() methode niet thread-safe is. Alle andere openbare en beveiligde leden van BlockingCollection<T> zijn thread-veilig en kunnen gelijktijdig worden gebruikt vanuit meerdere threads.

IProducerConsumerCollection<T> vertegenwoordigt een verzameling waarmee thread-veilig gegevens kunnen worden toegevoegd en verwijderd. BlockingCollection<T> wordt gebruikt als een wrapper voor een IProducerConsumerCollection<T> exemplaar en staat verwijderingspogingen uit de verzameling toe om te blokkeren totdat gegevens beschikbaar zijn om te worden verwijderd. Op dezelfde manier kunt u een BlockingCollection<T> bovengrens maken voor het aantal gegevenselementen dat is toegestaan in de IProducerConsumerCollection<T>verzameling; toevoegingspogingen aan de verzameling kunnen vervolgens blokkeren totdat er ruimte beschikbaar is om de toegevoegde items op te slaan. Op deze manier BlockingCollection<T> lijkt het op een traditionele blokkerende wachtrijgegevensstructuur, behalve dat het onderliggende mechanisme voor gegevensopslag wordt verwijderd als een IProducerConsumerCollection<T>.

BlockingCollection<T> ondersteunt begrenzing en blokkeren. Begrenzing betekent dat u de maximale capaciteit van de verzameling kunt instellen. Begrenzing is belangrijk in bepaalde scenario's, omdat u hiermee de maximale grootte van de verzameling in het geheugen kunt beheren en voorkomt dat de productiethreads zich te ver voor de verbruikende threads bewegen. Meerdere threads of taken kunnen items gelijktijdig aan de verzameling toevoegen en als de verzameling de opgegeven maximale capaciteit bereikt, worden de productiethreads geblokkeerd totdat een item wordt verwijderd. Meerdere consumenten kunnen items gelijktijdig verwijderen en als de verzameling leeg raakt, worden de consumerende threads geblokkeerd totdat een producent een item heeft toegevoegd. Een productiethread kan de CompleteAdding methode aanroepen om aan te geven dat er geen items meer worden toegevoegd. Consumenten controleren de IsCompleted eigenschap om te weten wanneer de verzameling leeg is en er geen items meer worden toegevoegd.

Add en Take bewerkingen worden doorgaans uitgevoerd in een lus. U kunt een lus annuleren door een CancellationToken object door te geven aan de TryAdd of TryTake methode en vervolgens de waarde van de eigenschap van het token IsCancellationRequested te controleren op elke iteratie. Als de waarde is true, is het aan u om te reageren op de annuleringsaanvraag door resources op te schonen en de lus af te sluiten.

Wanneer u een BlockingCollection<T> object maakt, kunt u niet alleen de gebonden capaciteit opgeven, maar ook het type verzameling dat u wilt gebruiken. U kunt bijvoorbeeld een ConcurrentQueue<T> object opgeven voor het eerste in, first out(FIFO)-gedrag of een ConcurrentStack<T> object voor het laatste in, first out-gedrag (LIFO). U kunt elke verzamelingsklasse gebruiken die de IProducerConsumerCollection<T> interface implementeert. Het standaardverzamelingstype BlockingCollection<T> is ConcurrentQueue<T>.

Wijzig de onderliggende verzameling niet rechtstreeks. Methoden gebruiken BlockingCollection<T> om elementen toe te voegen of te verwijderen. Het BlockingCollection<T> object kan beschadigd raken als u de onderliggende verzameling rechtstreeks wijzigt.

BlockingCollection<T> is niet ontworpen met asynchrone toegang in gedachten. Als uw toepassing asynchrone scenario's voor producenten/consumenten vereist, kunt u in plaats daarvan overwegen om deze te gebruiken Channel<T> .

Constructors

Name Description
BlockingCollection<T>()

Initialiseert een nieuw exemplaar van de BlockingCollection<T> klasse zonder een bovengrens.

BlockingCollection<T>(Int32)

Initialiseert een nieuw exemplaar van de BlockingCollection<T> klasse met de opgegeven bovengrens.

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

Initialiseert een nieuw exemplaar van de BlockingCollection<T> klasse met de opgegeven bovengrens en gebruikt de opgegeven IProducerConsumerCollection<T> als onderliggende gegevensopslag.

BlockingCollection<T>(IProducerConsumerCollection<T>)

Initialiseert een nieuw exemplaar van de BlockingCollection<T> klasse zonder een bovengrens en gebruikt de opgegeven IProducerConsumerCollection<T> als onderliggende gegevensopslag.

Eigenschappen

Name Description
BoundedCapacity

Hiermee haalt u de gebonden capaciteit van dit BlockingCollection<T> exemplaar op.

Count

Hiermee wordt het aantal items in de BlockingCollection<T>.

IsAddingCompleted

Hiermee wordt aangegeven of dit BlockingCollection<T> is gemarkeerd als voltooid voor het toevoegen.

IsCompleted

Hiermee wordt aangegeven of dit BlockingCollection<T> is gemarkeerd als voltooid voor het toevoegen en leeg is.

Methoden

Name Description
Add(T, CancellationToken)

Hiermee voegt u het item toe aan de BlockingCollection<T>.

Add(T)

Hiermee voegt u het item toe aan de BlockingCollection<T>.

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

Hiermee voegt u het opgegeven item toe aan een van de opgegeven BlockingCollection<T> exemplaren.

AddToAny(BlockingCollection<T>[], T)

Hiermee voegt u het opgegeven item toe aan een van de opgegeven BlockingCollection<T> exemplaren.

CompleteAdding()

Markeert de BlockingCollection<T> exemplaren als het niet meer accepteren van toevoegingen.

CopyTo(T[], Int32)

Kopieert alle items in het BlockingCollection<T> exemplaar naar een compatibele eendimensionale matrix, te beginnen bij de opgegeven index van de doelmatrix.

Dispose()

Alle resources die door het huidige exemplaar van de BlockingCollection<T> klasse worden gebruikt, worden vrijgegeven.

Dispose(Boolean)

Releases van resources die door het BlockingCollection<T> exemplaar worden gebruikt.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetConsumingEnumerable()

Biedt een verbruik IEnumerable<T> voor items in de verzameling.

GetConsumingEnumerable(CancellationToken)

Biedt een verbruik IEnumerable<T> voor items in de verzameling.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
Take()

Hiermee verwijdert u een item uit de BlockingCollection<T>.

Take(CancellationToken)

Hiermee verwijdert u een item uit de BlockingCollection<T>.

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

Neemt een item van een van de opgegeven BlockingCollection<T> exemplaren tijdens het observeren van het opgegeven annuleringstoken.

TakeFromAny(BlockingCollection<T>[], T)

Neemt een item van een van de opgegeven BlockingCollection<T> exemplaren.

ToArray()

Kopieert de items van het BlockingCollection<T> exemplaar naar een nieuwe matrix.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
TryAdd(T, Int32, CancellationToken)

Probeert het opgegeven item toe te voegen aan het item binnen de BlockingCollection<T> opgegeven periode, terwijl er een annuleringstoken wordt waargenomen.

TryAdd(T, Int32)

Probeert het opgegeven item toe te voegen aan het BlockingCollection<T> item binnen de opgegeven periode.

TryAdd(T, TimeSpan)

Probeert het opgegeven item toe te voegen aan de BlockingCollection<T>.

TryAdd(T)

Probeert het opgegeven item toe te voegen aan de BlockingCollection<T>.

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

Probeert het opgegeven item toe te voegen aan een van de opgegeven BlockingCollection<T> exemplaren.

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

Probeert het opgegeven item toe te voegen aan een van de opgegeven BlockingCollection<T> exemplaren.

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

Probeert het opgegeven item toe te voegen aan een van de opgegeven BlockingCollection<T> exemplaren tijdens het observeren van het opgegeven annuleringstoken.

TryAddToAny(BlockingCollection<T>[], T)

Probeert het opgegeven item toe te voegen aan een van de opgegeven BlockingCollection<T> exemplaren.

TryTake(T, Int32, CancellationToken)

Probeert een item uit de BlockingCollection<T> opgegeven periode te verwijderen tijdens het observeren van een annuleringstoken.

TryTake(T, Int32)

Probeert een item uit de BlockingCollection<T> opgegeven periode te verwijderen.

TryTake(T, TimeSpan)

Probeert een item uit de BlockingCollection<T> opgegeven periode te verwijderen.

TryTake(T)

Probeert een item te verwijderen uit de BlockingCollection<T>.

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

Probeert een item te verwijderen uit een van de opgegeven BlockingCollection<T> exemplaren.

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

Probeert een item te verwijderen uit een van de opgegeven BlockingCollection<T> exemplaren.

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

Probeert een item te verwijderen uit een van de opgegeven BlockingCollection<T> exemplaren.

TryTakeFromAny(BlockingCollection<T>[], T)

Probeert een item te verwijderen uit een van de opgegeven BlockingCollection<T> exemplaren.

Expliciete interface-implementaties

Name Description
ICollection.CopyTo(Array, Int32)

Kopieert alle items in het BlockingCollection<T> exemplaar naar een compatibele eendimensionale matrix, te beginnen bij de opgegeven index van de doelmatrix.

ICollection.IsSynchronized

Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot de ICollection synchronisatie is gesynchroniseerd (thread safe).

ICollection.SyncRoot

Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot het ICollectionobject te synchroniseren. Deze eigenschap wordt niet ondersteund.

IEnumerable.GetEnumerator()

Biedt een IEnumerator voor items in de verzameling.

IEnumerable<T>.GetEnumerator()

Biedt een IEnumerator<T> voor items in de verzameling.

Extensiemethoden

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

Hiermee past u een accumulatorfunctie toe op een reeks. De opgegeven seed-waarde wordt gebruikt als de initiële accumulatorwaarde en de opgegeven functie wordt gebruikt om de resultaatwaarde te selecteren.

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

Hiermee past u een accumulatorfunctie toe op een reeks. De opgegeven seed-waarde wordt gebruikt als de initiële accumulatorwaarde.

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

Hiermee past u een accumulatorfunctie toe op een reeks.

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

Bepaalt of alle elementen van een reeks aan een voorwaarde voldoen.

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

Retourneert een gefilterde verzameling elementen die de bovenliggende elementen van elk knooppunt in de bronverzameling bevat. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.

Ancestors<T>(IEnumerable<T>)

Retourneert een verzameling elementen die de bovenliggende elementen van elk knooppunt in de bronverzameling bevat.

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

Bepaalt of een element van een reeks voldoet aan een voorwaarde.

Any<TSource>(IEnumerable<TSource>)

Bepaalt of een reeks elementen bevat.

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

Voegt een waarde toe aan het einde van de reeks.

AsEnumerable<TSource>(IEnumerable<TSource>)

Retourneert de invoer die is getypt als IEnumerable<T>.

AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsParallel<TSource>(IEnumerable<TSource>)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Converteert een algemeen IEnumerable<T> naar een algemeen IQueryable<T>.

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

Berekent het gemiddelde van een reeks Decimal waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks Double waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks Int32 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks Int64 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks null-waarden Decimal die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks null-waarden Double die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks null-waarden Int32 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks null-waarden Int64 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks null-waarden Single die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent het gemiddelde van een reeks Single waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

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

Voegt twee reeksen samen.

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

Bepaalt of een reeks een opgegeven element bevat met behulp van een opgegeven IEqualityComparer<T>.

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

Bepaalt of een reeks een opgegeven element bevat met behulp van de standaard gelijkheidsgelijker.

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

Hiermee kopieert u DataRow objecten naar de opgegeven DataTable, op basis van een invoerobject IEnumerable<T> waarbij de algemene parameter T zich bevindt DataRow.

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

Hiermee kopieert u DataRow objecten naar de opgegeven DataTable, op basis van een invoerobject IEnumerable<T> waarbij de algemene parameter T zich bevindt DataRow.

CopyToDataTable<T>(IEnumerable<T>)

Retourneert een DataTable object dat kopieën van de DataRow objecten bevat, op basis van een invoerobject IEnumerable<T> waarin de algemene parameter T zich bevindt DataRow.

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

Retourneert een getal dat aangeeft hoeveel elementen in de opgegeven reeks voldoen aan een voorwaarde.

Count<TSource>(IEnumerable<TSource>)

Retourneert het aantal elementen in een reeks.

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

Retourneert de elementen van de opgegeven reeks of de opgegeven waarde in een singletonverzameling als de reeks leeg is.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Retourneert de elementen van de opgegeven reeks of de standaardwaarde van de typeparameter in een singletonverzameling als de reeks leeg is.

DescendantNodes<T>(IEnumerable<T>)

Retourneert een verzameling van de onderliggende knooppunten van elk document en element in de bronverzameling.

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

Retourneert een gefilterde verzameling elementen die de onderliggende elementen van elk element en document in de bronverzameling bevat. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.

Descendants<T>(IEnumerable<T>)

Retourneert een verzameling elementen die de onderliggende elementen van elk element en document in de bronverzameling bevat.

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

Retourneert afzonderlijke elementen uit een reeks met behulp van een opgegeven IEqualityComparer<T> om waarden te vergelijken.

Distinct<TSource>(IEnumerable<TSource>)

Retourneert afzonderlijke elementen uit een reeks met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

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

Retourneert het element in een opgegeven index in een reeks.

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

Retourneert het element in een opgegeven index in een reeks of een standaardwaarde als de index buiten het bereik valt.

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

Retourneert een gefilterde verzameling van de onderliggende elementen van elk element en document in de bronverzameling. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.

Elements<T>(IEnumerable<T>)

Retourneert een verzameling onderliggende elementen van elk element en document in de bronverzameling.

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

Produceert het setverschil van twee reeksen door de opgegeven IEqualityComparer<T> waarden te vergelijken.

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

Produceert het setverschil van twee reeksen met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

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

Retourneert het eerste element in een reeks die voldoet aan een opgegeven voorwaarde.

First<TSource>(IEnumerable<TSource>)

Retourneert het eerste element van een reeks.

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

Retourneert het eerste element van de reeks die voldoet aan een voorwaarde of een standaardwaarde als er geen dergelijk element wordt gevonden.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Retourneert het eerste element van een reeks of een standaardwaarde als de reeks geen elementen bevat.

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

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel. Sleutelwaarden worden vergeleken met behulp van een opgegeven vergelijkingsfunctie en de elementen van elke groep worden geprojecteerd met behulp van een opgegeven functie.

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

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel. De elementen van elke groep worden geprojecteerd met behulp van een opgegeven functie.

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

Hiermee worden de elementen van een reeks gegroepeerd op basis van een sleutelkiezerfunctie. De sleutels worden vergeleken met behulp van een vergelijkingsfunctie en de elementen van elke groep worden geprojecteerd met behulp van een opgegeven functie.

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

Groepeert de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en projecteert de elementen voor elke groep met behulp van een opgegeven functie.

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

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel. De sleutels worden vergeleken met behulp van een opgegeven vergelijkingsfunctie.

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

Groepeer de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en maakt een resultaatwaarde van elke groep en de bijbehorende sleutel.

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

Groepeert de elementen van een reeks op basis van een opgegeven sleutelkiezerfunctie en vergelijkt de sleutels met behulp van een opgegeven vergelijkingsfunctie.

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

Hiermee worden de elementen van een reeks gegroepeerd op basis van een opgegeven sleutelkiezerfunctie.

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

Correleert de elementen van twee reeksen op basis van sleutel gelijkheid en groepeert de resultaten. Een opgegeven IEqualityComparer<T> wordt gebruikt om sleutels te vergelijken.

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

Correleert de elementen van twee reeksen op basis van gelijkheid van sleutels en groepeert de resultaten. De standaard gelijkheidsgelijker wordt gebruikt om sleutels te vergelijken.

InDocumentOrder<T>(IEnumerable<T>)

Retourneert een verzameling knooppunten die alle knooppunten in de bronverzameling bevat, gesorteerd in documentvolgorde.

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

Produceert het snijpunt van twee reeksen met behulp van het opgegeven om IEqualityComparer<T> waarden te vergelijken.

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

Produceert het set snijpunt van twee reeksen met behulp van de standaard gelijkheidsgelijker om waarden te vergelijken.

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

Correleert de elementen van twee reeksen op basis van overeenkomende sleutels. Een opgegeven IEqualityComparer<T> wordt gebruikt om sleutels te vergelijken.

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

Correleert de elementen van twee reeksen op basis van overeenkomende sleutels. De standaard gelijkheidsgelijker wordt gebruikt om sleutels te vergelijken.

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

Retourneert het laatste element van een reeks die voldoet aan een opgegeven voorwaarde.

Last<TSource>(IEnumerable<TSource>)

Retourneert het laatste element van een reeks.

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

Retourneert het laatste element van een reeks die voldoet aan een voorwaarde of een standaardwaarde als er geen dergelijk element wordt gevonden.

LastOrDefault<TSource>(IEnumerable<TSource>)

Retourneert het laatste element van een reeks of een standaardwaarde als de reeks geen elementen bevat.

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

Retourneert een Int64 waarde die aangeeft hoeveel elementen in een reeks voldoen aan een voorwaarde.

LongCount<TSource>(IEnumerable<TSource>)

Retourneert een Int64 waarde die het totale aantal elementen in een reeks vertegenwoordigt.

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

Roept een transformatiefunctie aan op elk element van een algemene reeks en retourneert de maximum resulterende waarde.

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Decimal .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Double .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Int32 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Int64 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Decimal .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Double .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Int32 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Int64 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximaal null-waarde Single .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de maximumwaarde Single .

Max<TSource>(IEnumerable<TSource>)

Retourneert de maximumwaarde in een algemene reeks.

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

Roept een transformatiefunctie aan op elk element van een algemene reeks en retourneert de minimum resulterende waarde.

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Decimal .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Double .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Int32 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Int64 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Decimal .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Double .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Int32 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Int64 .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimaal null-waarde Single .

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

Roept een transformatiefunctie aan op elk element van een reeks en retourneert de minimumwaarde Single .

Min<TSource>(IEnumerable<TSource>)

Retourneert de minimumwaarde in een algemene reeks.

Nodes<T>(IEnumerable<T>)

Retourneert een verzameling van de onderliggende knooppunten van elk document en element in de bronverzameling.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

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

Hiermee sorteert u de elementen van een reeks in oplopende volgorde met behulp van een opgegeven vergelijkingsfunctie.

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

Sorteert de elementen van een reeks in oplopende volgorde op basis van een sleutel.

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

Hiermee sorteert u de elementen van een reeks in aflopende volgorde met behulp van een opgegeven vergelijkingsfunctie.

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

Sorteert de elementen van een reeks in aflopende volgorde op basis van een sleutel.

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

Voegt een waarde toe aan het begin van de reeks.

Remove<T>(IEnumerable<T>)

Hiermee verwijdert u elk knooppunt in de bronverzameling van het bovenliggende knooppunt.

Reverse<TSource>(IEnumerable<TSource>)

Hiermee wordt de volgorde van de elementen in een reeks omgedraaid.

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

Projecteert elk element van een reeks in een nieuw formulier door de index van het element op te nemen.

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

Projecteert elk element van een reeks in een nieuwe vorm.

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

Projecteert elk element van een reeks naar een IEnumerable<T>, plat de resulterende reeksen in één reeks en roept een resultaatselectorfunctie aan op elk element daarin.

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

Projecteert elk element van een reeks naar een IEnumerable<T>, plat de resulterende reeksen in één reeks en roept een resultaatselectorfunctie aan op elk element daarin. De index van elk bronelement wordt gebruikt in de tussenliggende projectvorm van dat element.

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

Projecteert elk element van een reeks naar een IEnumerable<T> en plat de resulterende reeksen in één reeks.

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

Projecteert elk element van een reeks op een IEnumerable<T>, en plat de resulterende reeksen in één reeks. De index van elk bronelement wordt gebruikt in de verwachte vorm van dat element.

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

Bepaalt of twee reeksen gelijk zijn door hun elementen te vergelijken met behulp van een opgegeven IEqualityComparer<T>.

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

Bepaalt of twee reeksen gelijk zijn door de elementen te vergelijken met behulp van de standaard gelijkheidsgelijker voor hun type.

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

Retourneert het enige element van een reeks die voldoet aan een opgegeven voorwaarde en genereert een uitzondering als er meer dan één dergelijk element bestaat.

Single<TSource>(IEnumerable<TSource>)

Retourneert het enige element van een reeks en genereert een uitzondering als er niet precies één element in de reeks is.

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

Retourneert het enige element van een reeks die voldoet aan een opgegeven voorwaarde of een standaardwaarde als er geen dergelijk element bestaat; met deze methode wordt een uitzondering gegenereerd als meer dan één element voldoet aan de voorwaarde.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Retourneert het enige element van een reeks of een standaardwaarde als de reeks leeg is; met deze methode wordt een uitzondering gegenereerd als er meer dan één element in de reeks staat.

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

Slaat een opgegeven aantal elementen in een reeks over en retourneert vervolgens de resterende elementen.

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

Retourneert een nieuwe enumerable verzameling die de elementen bevat waaruit source de laatste count elementen van de bronverzameling zijn weggelaten.

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

Omzeilt elementen in een reeks zolang een opgegeven voorwaarde waar is en retourneert vervolgens de resterende elementen.

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

Omzeilt elementen in een reeks zolang een opgegeven voorwaarde waar is en retourneert vervolgens de resterende elementen. De index van het element wordt gebruikt in de logica van de predicaatfunctie.

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

Berekent de som van de reeks Decimal waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks Double waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks Int32 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks Int64 waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks null-waarden Decimal die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks null-waarden Double die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks null-waarden Int32 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks null-waarden Int64 die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks null-waarden Single die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Berekent de som van de reeks Single waarden die worden verkregen door een transformatiefunctie aan te roepen op elk element van de invoerreeks.

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

Retourneert een opgegeven aantal aaneengesloten elementen vanaf het begin van een reeks.

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

Retourneert een nieuwe enumerable verzameling die de laatste count elementen van sourcebevat.

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

Retourneert elementen uit een reeks zolang een opgegeven voorwaarde waar is.

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

Retourneert elementen uit een reeks zolang een opgegeven voorwaarde waar is. De index van het element wordt gebruikt in de logica van de predicaatfunctie.

ToArray<TSource>(IEnumerable<TSource>)

Hiermee maakt u een matrix van een IEnumerable<T>.

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

Hiermee maakt u een Dictionary<TKey,TValue> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie, een vergelijkingsfunctie en een elementselectorfunctie.

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

Hiermee maakt u een Dictionary<TKey,TValue> van een op basis van de IEnumerable<T> opgegeven sleutelkiezer- en elementselectorfuncties.

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

Hiermee maakt u een Dictionary<TKey,TValue> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie en sleutelkiezer.

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

Hiermee maakt u een Dictionary<TKey,TValue> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie.

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

Hiermee maakt u een HashSet<T> van een IEnumerable<T> met behulp van de comparer sleutels om sleutels te vergelijken.

ToHashSet<TSource>(IEnumerable<TSource>)

Hiermee maakt u een HashSet<T> van een IEnumerable<T>.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Hiermee maakt u een onveranderbare matrix op basis van de opgegeven verzameling.

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

Inventariseert en transformeert een reeks en produceert een onveranderbare woordenlijst van de inhoud met behulp van de opgegeven sleutel- en waarde-vergelijkingen.

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

Inventariseert en transformeert een reeks en produceert een onveranderbare woordenlijst van de inhoud met behulp van de opgegeven sleutel-vergelijkingsfunctie.

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

Inventariseert en transformeert een reeks en produceert een onveranderbare woordenlijst van de inhoud.

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

Maakt een onveranderbare woordenlijst op basis van een bepaalde transformatie van een reeks.

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

Hiermee wordt een onveranderbare woordenlijst samengesteld op basis van een bestaande verzameling elementen, waarbij een transformatiefunctie wordt toegepast op de bronsleutels.

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

Inventariseert een reeks, produceert een onveranderbare hashset van de inhoud en maakt gebruik van de opgegeven gelijkheidsgelijker voor het settype.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Inventariseert een reeks en produceert een onveranderbare hashset van de inhoud.

ToImmutableList<TSource>(IEnumerable<TSource>)

Inventariseert een reeks en produceert een onveranderbare lijst met inhoud.

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

Inventariseert en transformeert een reeks en produceert een onveranderbare gesorteerde woordenlijst van de inhoud met behulp van de opgegeven sleutel- en waarde-vergelijkingen.

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

Inventariseert en transformeert een reeks en produceert een onveranderbare gesorteerde woordenlijst van de inhoud met behulp van de opgegeven sleutel vergelijken.

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

Inventariseert en transformeert een reeks en produceert een onveranderbare gesorteerde woordenlijst van de inhoud.

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

Inventariseert een reeks, produceert een onveranderbare gesorteerde set inhoud en maakt gebruik van de opgegeven vergelijkingsfunctie.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Inventariseert een reeks en produceert een onveranderbare gesorteerde set inhoud.

ToList<TSource>(IEnumerable<TSource>)

Hiermee maakt u een List<T> van een IEnumerable<T>.

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

Hiermee maakt u een Lookup<TKey,TElement> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie, een vergelijkingsfunctie en een elementselectorfunctie.

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

Hiermee maakt u een Lookup<TKey,TElement> van een op basis van de IEnumerable<T> opgegeven sleutelkiezer- en elementselectorfuncties.

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

Hiermee maakt u een Lookup<TKey,TElement> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie en sleutelkiezer.

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

Hiermee maakt u een Lookup<TKey,TElement> van een IEnumerable<T> op basis van een opgegeven sleutelkiezerfunctie.

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

Produceert de set-samenvoeging van twee reeksen met behulp van een opgegeven IEqualityComparer<T>.

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

Produceert de set-samenvoeging van twee reeksen met behulp van de standaard gelijkheidsgelijker.

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

Hiermee filtert u een reeks waarden op basis van een predicaat.

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

Hiermee filtert u een reeks waarden op basis van een predicaat. De index van elk element wordt gebruikt in de logica van de predicaatfunctie.

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

Hiermee past u een opgegeven functie toe op de bijbehorende elementen van twee reeksen, waardoor een reeks resultaten wordt geproduceerd.

Van toepassing op

Veiligheid thread

De verwijderingsmethode is niet thread-safe. Alle andere openbare en beveiligde leden van BlockingCollection<T> zijn thread-veilig en kunnen gelijktijdig worden gebruikt vanuit meerdere threads.

Zie ook