BlockingCollection<T> Klasse

Definition

Stellt Sperr- und Begrenzungsfunktionen für threadsichere Auflistungen bereit, die IProducerConsumerCollection<T> implementieren.

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)

Typparameter

T

Der Typ der Elemente in der Auflistung.

Vererbung
BlockingCollection<T>
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird gezeigt, wie Elemente gleichzeitig aus einer blockierenden Auflistung hinzugefügt und aus diesen verwendet werden:

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

Hinweise

BlockingCollection<T> ist eine threadsichere Auflistungsklasse, die Folgendes bereitstellt:

Wichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Zum direkten Löschen des Typs rufen Sie seine Dispose-Methode in einem try/catch-Block auf. Zum indirekten Löschen verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt „Verwenden eines Objekts, das IDisposable implementiert“ des Themas „Die IDisposable-Schnittstelle“. Beachten Sie außerdem, dass die Dispose() Methode nicht threadsicher ist. Alle anderen öffentlichen und geschützten Member von BlockingCollection<T> sind threadsicher und können gleichzeitig von mehreren Threads verwendet werden.

IProducerConsumerCollection<T> stellt eine Sammlung dar, die das threadsichere Hinzufügen und Entfernen von Daten ermöglicht. BlockingCollection<T>wird als Wrapper für eine IProducerConsumerCollection<T> instance verwendet und ermöglicht es, Entfernungsversuche aus der Sammlung zu blockieren, bis Daten zum Entfernen verfügbar sind. Auf ähnliche Weise können Sie eine BlockingCollection<T> erstellen, um eine Obergrenze für die Anzahl der zulässigen IProducerConsumerCollection<T>Datenelemente zu erzwingen. Zusätzliche Versuche zur Sammlung können dann blockieren, bis Speicherplatz zum Speichern der hinzugefügten Elemente verfügbar ist. Auf diese Weise BlockingCollection<T> ähnelt eine herkömmliche Blockierungswarteschlangendatenstruktur, mit der Ausnahme, dass der zugrunde liegende Datenspeichermechanismus als IProducerConsumerCollection<T>abstrahiert wird.

BlockingCollection<T> unterstützt das Begrenzen und Blockieren. Begrenzung bedeutet, dass Sie die maximale Kapazität der Sammlung festlegen können. Die Begrenzung ist in bestimmten Szenarien wichtig, da sie ihnen ermöglicht, die maximale Größe der Sammlung im Arbeitsspeicher zu steuern, und verhindert, dass sich die produzierenden Threads zu weit vor den verbrauchten Threads bewegen. Mehrere Threads oder Aufgaben können der Auflistung gleichzeitig Elemente hinzufügen, und wenn die Auflistung die angegebene maximale Kapazität erreicht, werden die produzierenden Threads blockiert, bis ein Element entfernt wird. Mehrere Consumer können gleichzeitig Elemente entfernen, und wenn die Sammlung leer ist, werden die verbrauchenden Threads blockiert, bis ein Producer ein Element hinzufügt. Ein produzierendes Thread kann die CompleteAdding -Methode aufrufen, um anzugeben, dass keine weiteren Elemente hinzugefügt werden. Consumer überwachen die IsCompleted-Eigenschaft, um zu erkennen, wann die Sammlung leer ist und keine Elemente mehr hinzugefügt werden.

Add Und Take Vorgänge werden in der Regel in einer Schleife ausgeführt. Sie können eine Schleife abbrechen, indem Sie ein CancellationToken Objekt an die TryAdd -Methode oder TryTake übergeben und dann den Wert der Tokeneigenschaft IsCancellationRequested bei jeder Iteration überprüfen. Wenn der Wert lautet, liegt truees an Ihnen, die Abbruchanforderung zu beantworten, indem Sie alle Ressourcen bereinigen und die Schleife beenden.

Wenn Sie ein BlockingCollection<T> Objekt erstellen, können Sie nicht nur die begrenzte Kapazität, sondern auch den Typ der zu verwendenden Auflistung angeben. Sie können beispielsweise ein ConcurrentQueue<T> Objekt für das Verhalten first in, first out (FIFO) oder ein ConcurrentStack<T> Objekt für das Verhalten last in, first out (LIFO) angeben. Sie können jede Sammlungsklasse verwenden, die die IProducerConsumerCollection<T>-Schnittstelle implementiert. Der standardmäßige Sammlungstyp für BlockingCollection<T> ist ConcurrentQueue<T>.

Ändern Sie die zugrunde liegende Auflistung nicht direkt. Verwenden Sie BlockingCollection<T> Methoden zum Hinzufügen oder Entfernen von Elementen. Das BlockingCollection<T> Objekt kann beschädigt werden, wenn Sie die zugrunde liegende Auflistung direkt ändern.

BlockingCollection<T> wurde nicht für asynchronen Zugriff konzipiert. Wenn Ihre Anwendung asynchrone Producer/Consumer-Szenarien erfordert, sollten Sie stattdessen die Verwendung in Channel<T> Erwägung ziehen.

Konstruktoren

BlockingCollection<T>()

Initialisiert eine neue Instanz der BlockingCollection<T>-Klasse ohne obere Grenze.

BlockingCollection<T>(Int32)

Initialisiert eine neue Instanz der BlockingCollection<T>-Klasse mit der angegebenen oberen Grenze.

BlockingCollection<T>(IProducerConsumerCollection<T>)

Initialisiert eine neue Instanz der BlockingCollection<T>-Klasse ohne obere Grenze und unter Verwendung der angegebenen IProducerConsumerCollection<T> als zugrunde liegenden Datenspeicher.

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

Initialisiert eine neue Instanz der BlockingCollection<T>-Klasse mit der angegebenen oberen Grenze und unter Verwendung der angegebenen IProducerConsumerCollection<T> als zugrunde liegenden Datenspeicher.

Eigenschaften

BoundedCapacity

Ruft die begrenzte Kapazität dieser BlockingCollection<T>-Instanz ab.

Count

Ruft die Anzahl der Elemente in BlockingCollection<T> ab.

IsAddingCompleted

Ruft ab, ob diese BlockingCollection<T> zum Hinzufügen als vollständig markiert wurde.

IsCompleted

Ruft ab, ob diese BlockingCollection<T> zum Hinzufügen als vollständig markiert wurde und leer ist.

Methoden

Add(T)

Fügt das Element der BlockingCollection<T> hinzu.

Add(T, CancellationToken)

Fügt das Element der BlockingCollection<T> hinzu.

AddToAny(BlockingCollection<T>[], T)

Fügt das angegebene Element einer der angegebenen BlockingCollection<T>-Instanzen hinzu.

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

Fügt das angegebene Element einer der angegebenen BlockingCollection<T>-Instanzen hinzu.

CompleteAdding()

Markiert die BlockingCollection<T>-Instanzen als Instanzen, die keine weiteren Hinzufügungen annehmen.

CopyTo(T[], Int32)

Kopiert alle Elemente in der BlockingCollection<T>-Instanz in ein kompatibles eindimensionales Array, wobei am angegebenen Index des Zielarrays begonnen wird.

Dispose()

Gibt alle von der aktuellen Instanz der BlockingCollection<T>-Klasse verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt von der BlockingCollection<T>-Instanz verwendete Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetConsumingEnumerable()

Stellt ein verwendetes IEnumerable<T> für Elemente in der Auflistung bereit.

GetConsumingEnumerable(CancellationToken)

Stellt ein verwendetes IEnumerable<T> für Elemente in der Auflistung bereit.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Take()

Entfernt ein Element aus BlockingCollection<T>.

Take(CancellationToken)

Entfernt ein Element aus BlockingCollection<T>.

TakeFromAny(BlockingCollection<T>[], T)

Verwendet ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen.

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

Verwendet ein Element aus einer angegebenen BlockingCollection<T>-Instanz und berücksichtigt das angegebene Abbruchtoken.

ToArray()

Kopiert die Elemente aus der BlockingCollection<T>-Instanz in ein neues Array.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryAdd(T)

Versucht, der BlockingCollection<T> das angegebene Element hinzuzufügen.

TryAdd(T, Int32)

Versucht, das angegebene Element im angegebenen Zeitraum der BlockingCollection<T> hinzuzufügen.

TryAdd(T, Int32, CancellationToken)

Versucht, das angegebene Element unter Berücksichtigung des Abbruchtokens im angegebenen Zeitraum der BlockingCollection<T> hinzuzufügen.

TryAdd(T, TimeSpan)

Versucht, der BlockingCollection<T> das angegebene Element hinzuzufügen.

TryAddToAny(BlockingCollection<T>[], T)

Versucht, einer der angegebenen BlockingCollection<T>-Instanzen das angegebene Element hinzuzufügen.

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

Versucht, einer der angegebenen BlockingCollection<T>-Instanzen das angegebene Element hinzuzufügen.

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

Versucht, einer der angegebenen BlockingCollection<T>-Instanzen das angegebene Element hinzuzufügen.

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

Versucht, das angegebene Element einer angegebenen BlockingCollection<T>-Instanz hinzuzufügen und berücksichtigt das angegebene Abbruchtoken.

TryTake(T)

Versucht, ein Element aus der BlockingCollection<T> zu entfernen.

TryTake(T, Int32)

Versucht, ein Element im angegebenen Zeitraum aus der BlockingCollection<T> zu entfernen.

TryTake(T, Int32, CancellationToken)

Versucht, ein Element unter Berücksichtigung des Abbruchtokens im angegebenen Zeitraum aus der BlockingCollection<T> zu entfernen.

TryTake(T, TimeSpan)

Versucht, ein Element im angegebenen Zeitraum aus der BlockingCollection<T> zu entfernen.

TryTakeFromAny(BlockingCollection<T>[], T)

Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.

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

Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.

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

Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.

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

Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert alle Elemente in der BlockingCollection<T>-Instanz in ein kompatibles eindimensionales Array, wobei am angegebenen Index des Zielarrays begonnen wird.

ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die ICollection synchronisiert (threadsicher) ist.

ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann. Diese Eigenschaft wird nicht unterstützt.

IEnumerable.GetEnumerator()

Stellt einen IEnumerator für Elemente in der Auflistung bereit.

IEnumerable<T>.GetEnumerator()

Stellt einen IEnumerator<T> für Elemente in der Auflistung bereit.

Erweiterungsmethoden

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

Erstellt eine FrozenDictionary<TKey,TValue> aus einer IEnumerable<T> gemäß der angegebenen Schlüsselauswahlfunktion.

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

Erstellt ein FrozenDictionary<TKey,TValue> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion

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

Erstellt eine FrozenSet<T> mit den angegebenen Werten.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Erstellt ein unveränderliches Array aus der angegebenen Auflistung.

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

Erstellt ein unveränderliches Wörterbuch aus einer bestehenden Kollektion von Elementen, mit der Anwendung einer Transformationsfunktion zum Quellschlüssel.

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

Erstellt ein unveränderliches Wörterbuch basierend auf einer Sequenztransformation.

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

Listet eine Sequenz auf und transformiert sie; und erzeugt ein unveränderliches Wörterbuch ihrer Inhalte.

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

Listet eine Sequenz auf und transformiert sie; und erzeugt mithilfe des angegebenen Schlüsselvergleichs ein unveränderliches Wörterbuch ihrer Inhalte.

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

Listet eine Sequenz auf und transformiert sie; und erzeugt mithilfe des angegebenen Schlüssel- und Wertevergleichs ein unveränderliches Wörterbuch ihrer Inhalte.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Listet eine Sequenz auf und erzeugt ein unveränderliches Hashset ihrer Inhalte.

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

Listet eine Sequenz auf, erzeugt ein unveränderliches Hashset ihres Inhalts und verwendet den angegebenen Gleichheitsvergleich für den Settyp.

ToImmutableList<TSource>(IEnumerable<TSource>)

Listet eine Sequenz auf und erzeugt eine unveränderliche Liste ihrer Inhalte.

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

Listet eine Sequenz auf, transformiert sie und erzeugt ein unveränderliches sortiertes Wörterbuch ihrer Inhalte.

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

Listet eine Sequenz auf, transformiert sie und erzeugt mithilfe des angegebenen Schlüsselvergleichs ein unveränderliches sortiertes Wörterbuch ihrer Inhalte.

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

Listet eine Sequenz auf, transformiert sie und erzeugt mithilfe des angegebenen Schlüssel- und Wertevergleichs ein unveränderliches sortiertes Wörterbuch ihrer Inhalte.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Listet eine Sequenz auf und erzeugt ein unveränderlich sortierte Gruppe ihrer Inhalte.

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

Listet eine Sequenz auf, erzeugt ein unveränderlich sortierte Gruppe ihrer Inhalte und verwendet den angegeben Vergleich.

CopyToDataTable<T>(IEnumerable<T>)

Gibt eine DataTable zurück, die Kopien der DataRow-Objekte enthält, wenn ein IEnumerable<T>-Eingabeobjekt vorhanden ist, bei dem der generische Parameter T den Wert DataRow hat.

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

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.

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

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.

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

Wendet eine Akkumulatorfunktion auf eine Sequenz an

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

Wendet eine Akkumulatorfunktion auf eine Sequenz an Der angegebene Startwert wird als erster Akkumulatorwert verwendet.

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

Wendet eine Akkumulatorfunktion auf eine Sequenz an Der angegebene Startwert wird als erster Akkumulatorwert verwendet, und der Ergebniswert wird mit der angegebenen Funktion ausgewählt.

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

Stellt Sperr- und Begrenzungsfunktionen für threadsichere Auflistungen bereit, die IProducerConsumerCollection<T> implementieren.

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

Stellt Sperr- und Begrenzungsfunktionen für threadsichere Auflistungen bereit, die IProducerConsumerCollection<T> implementieren.

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

Bestimmt, ob alle Elemente einer Sequenz eine Bedingung erfüllen.

Any<TSource>(IEnumerable<TSource>)

Bestimmt, ob eine Sequenz Elemente enthält.

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

Bestimmt, ob ein Element einer Sequenz eine Bedingung erfüllt.

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

Fügt einen Wert an das Ende der Sequenz an.

AsEnumerable<TSource>(IEnumerable<TSource>)

Gibt die Eingabe als IEnumerable<T> typisiert zurück

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

Berechnet den Durchschnitt einer Sequenz von Decimal-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Double-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Int32-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Int64-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Decimal-Werten, die NULL zulassen, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Double-Werten, die NULL zulassen, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Int32-Werten, die NULL zulassen, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Int64-Werten, die NULL zulassen, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Single-Werten, die NULL zulassen, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet den Durchschnitt einer Sequenz von Single-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

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

Teilt die Elemente einer Sequenz höchstens sizein Blöcke der Größe auf.

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

Verkettet zwei Sequenzen

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

Bestimmt mithilfe des Standardgleichheitsvergleichs, ob eine Sequenz ein angegebenes Element enthält

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

Bestimmt mithilfe eines angegebenen IEqualityComparer<T>, ob eine Sequenz ein angegebenes Element enthält

Count<TSource>(IEnumerable<TSource>)

Gibt die Anzahl der Elemente in einer Sequenz zurück

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

Gibt eine Zahl zurück, die die Anzahl der Elemente in der angegebenen Sequenz angibt, die eine Bedingung erfüllen

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

Stellt Sperr- und Begrenzungsfunktionen für threadsichere Auflistungen bereit, die IProducerConsumerCollection<T> implementieren.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Gibt die Elemente der angegebenen Sequenz oder den Standardwert des Typparameters in einer Singletonauflistung zurück, wenn die Sequenz leer ist

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

Gibt die Elemente der angegebenen Sequenz oder den angegebenen Wert in einer Singletonauflistung zurück, wenn die Sequenz leer ist.

Distinct<TSource>(IEnumerable<TSource>)

Gibt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück

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

Gibt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück

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

Gibt unterschiedliche Elemente aus einer Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion zurück.

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

Gibt unterschiedliche Elemente aus einer Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion zurück und verwendet einen angegebenen Vergleich zum Vergleichen von Schlüsseln.

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

Gibt das Element an einem angegebenen Index in einer Sequenz zurück

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

Gibt das Element an einem angegebenen Index in einer Sequenz zurück

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

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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

Erzeugt die Differenzmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten

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

Erzeugt mithilfe des angegebenen IEqualityComparer<T> die Differenzmenge zweier Sequenzen zum Vergleichen von Werten

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

Erzeugt den Mengenunterschied von zwei Sequenzen gemäß einer angegebenen Schlüsselauswahlfunktion.

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

Erzeugt den Mengenunterschied von zwei Sequenzen gemäß einer angegebenen Schlüsselauswahlfunktion.

First<TSource>(IEnumerable<TSource>)

Gibt das erste Element einer Sequenz zurück

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

Gibt das erste Element in einer Sequenz zurück, das eine angegebene Bedingung erfüllt.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Gibt das erste Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz keine Elemente enthält.

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

Gibt das erste Element einer Sequenz oder einen angegebenen Standardwert zurück, wenn die Sequenz keine Elemente enthält.

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

Gibt das erste Element der Sequenz zurück, das eine Bedingung erfüllt, oder einen Standardwert, wenn ein solches Element nicht gefunden wird.

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

Gibt das erste Element der Sequenz zurück, das eine Bedingung erfüllt, oder einen angegebenen Standardwert, wenn kein solches Element gefunden wird.

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

Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion

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

Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und vergleicht die Schlüssel mithilfe eines angegebenen Vergleichs

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

Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und projiziert die Elemente für jede Gruppe mithilfe einer angegebenen Funktion

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

Gruppiert die Elemente einer Sequenz entsprechend einer Schlüsselauswahlfunktion Die Schlüssel werden mithilfe eines Vergleichs verglichen, und die Elemente jeder Gruppe werden mithilfe einer angegebenen Funktion projiziert.

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

Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert.

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

Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert. Die Schlüssel werden mithilfe eines angegebenen Vergleichs verglichen.

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

Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert. Die Elemente jeder Gruppe werden mithilfe einer angegebenen Funktion projiziert.

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

Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert. Schlüsselwerte werden mithilfe eines angegebenen Vergleichs verglichen, und die Elemente jeder Gruppe werden mithilfe einer angegebenen Funktion projiziert.

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

Korreliert die Elemente von zwei Sequenzen anhand der Gleichheit der Schlüssel und gruppiert die Ergebnisse Schlüssel werden mithilfe des Standardgleichheitsvergleichs verglichen.

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

Korreliert die Elemente von zwei Sequenzen anhand der Gleichheit der Schlüssel und gruppiert die Ergebnisse Schlüssel werden mithilfe eines angegebenen IEqualityComparer<T> verglichen.

Index<TSource>(IEnumerable<TSource>)

Stellt Sperr- und Begrenzungsfunktionen für threadsichere Auflistungen bereit, die IProducerConsumerCollection<T> implementieren.

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

Erzeugt die Schnittmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten

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

Erzeugt mithilfe des angegebenen IEqualityComparer<T> zum Vergleichen von Werten die Schnittmenge von zwei Sequenzen

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

Erzeugt die Festgelegte Schnittmenge von zwei Sequenzen gemäß einer angegebenen Schlüsselselektorfunktion.

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

Erzeugt die Festgelegte Schnittmenge von zwei Sequenzen gemäß einer angegebenen Schlüsselselektorfunktion.

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

Korreliert die Elemente von zwei Sequenzen auf der Grundlage von übereinstimmenden Schlüsseln Schlüssel werden mithilfe des Standardgleichheitsvergleichs verglichen.

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

Korreliert die Elemente von zwei Sequenzen auf der Grundlage von übereinstimmenden Schlüsseln Schlüssel werden mithilfe eines angegebenen IEqualityComparer<T> verglichen.

Last<TSource>(IEnumerable<TSource>)

Gibt das letzte Element einer Sequenz zurück

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

Gibt das letzte Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt.

LastOrDefault<TSource>(IEnumerable<TSource>)

Gibt das letzte Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz keine Elemente enthält.

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

Gibt das letzte Element einer Sequenz oder einen angegebenen Standardwert zurück, wenn die Sequenz keine Elemente enthält.

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

Gibt das letzte Element einer Sequenz, das eine Bedingung erfüllt, oder einen Standardwert zurück, wenn ein solches Element nicht gefunden wird.

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

Gibt das letzte Element einer Sequenz zurück, das eine Bedingung erfüllt, oder einen angegebenen Standardwert, wenn kein solches Element gefunden wird.

LongCount<TSource>(IEnumerable<TSource>)

Gibt ein Int64 zurück, das die Gesamtanzahl der Elemente in einer Sequenz darstellt

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

Gibt ein Int64 zurück, das die Anzahl der Elemente in einer Sequenz darstellt, die eine Bedingung erfüllen

Max<TSource>(IEnumerable<TSource>)

Gibt den Höchstwert in einer generischen Sequenz zurück

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

Gibt den Höchstwert in einer generischen Sequenz zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Decimal-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Double-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int32-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int64-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Decimal-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Double-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int32-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int64-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Single-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Single-Wert zurück

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

Ruft für jedes Element einer generischen Sequenz eine Transformationsfunktion auf, und gibt den höchsten Ergebniswert zurück

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

Gibt den Maximalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion zurück.

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

Gibt den Maximalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion und einem angegebenen Schlüsselvergleich zurück.

Min<TSource>(IEnumerable<TSource>)

Gibt den Mindestwert in einer generischen Sequenz zurück

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

Gibt den Mindestwert in einer generischen Sequenz zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Decimal-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Double-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Int32-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Int64-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Decimal-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Double-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Int32-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Int64-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Single-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den minimalen Single-Wert zurück

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

Ruft für jedes Element einer generischen Sequenz eine Transformationsfunktion auf, und gibt den niedrigsten Ergebniswert zurück

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

Gibt den Mindestwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion zurück.

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

Gibt den Mindestwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion und einem angegebenen Schlüsselvergleich zurück.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

Order<T>(IEnumerable<T>)

Sortiert die Elemente einer Sequenz in aufsteigender Reihenfolge

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

Sortiert die Elemente einer Sequenz in aufsteigender Reihenfolge

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

Sortiert die Elemente einer Sequenz in aufsteigender Reihenfolge nach einem Schlüssel

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

Sortiert die Elemente einer Sequenz mithilfe eines angegebenen Vergleichs in aufsteigender Reihenfolge

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

Sortiert die Elemente einer Sequenz in absteigender Reihenfolge nach einem Schlüssel

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

Sortiert die Elemente einer Sequenz mithilfe eines angegebenen Vergleichs in absteigender Reihenfolge.

OrderDescending<T>(IEnumerable<T>)

Sortiert die Elemente einer Sequenz in absteigender Reihenfolge.

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

Sortiert die Elemente einer Sequenz in absteigender Reihenfolge.

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

Fügt einen Wert am Anfang der Sequenz ein.

Reverse<TSource>(IEnumerable<TSource>)

Kehrt die Reihenfolge der Elemente in einer Sequenz um

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

Projiziert jedes Element einer Sequenz in ein neues Format.

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

Projiziert jedes Element einer Sequenz in ein neues Format, indem der Index des Elements integriert wird

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

Projiziert jedes Element einer Sequenz in ein IEnumerable<T>, und fasst die resultierenden Sequenzen in einer einzigen Sequenz zusammen

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

Projiziert jedes Element einer Sequenz in ein IEnumerable<T>, und fasst die resultierenden Sequenzen zu einer einzigen Sequenz zusammen Der Index jedes Quellelements wird im projizierten Format des jeweiligen Elements verwendet.

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

Projiziert jedes Element einer Sequenz in ein IEnumerable<T>, fasst die resultierenden Sequenzen zu einer einzigen Sequenz zusammen und ruft für jedes Element in dieser Sequenz eine Ergebnisauswahlfunktion auf.

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

Projiziert jedes Element einer Sequenz in ein IEnumerable<T>, fasst die resultierenden Sequenzen zu einer einzigen Sequenz zusammen und ruft für jedes Element in dieser Sequenz eine Ergebnisauswahlfunktion auf. Der Index jedes Quellelements wird im projizierten Zwischenformat des jeweiligen Elements verwendet.

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

Bestimmt, ob zwei Sequenzen gleich sind, indem die Elemente mithilfe des Standardgleichheitsvergleichs für ihren Typ verglichen werden

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

Bestimmt, ob zwei Sequenzen gleich sind, indem ihre Elemente mithilfe eines angegebenen IEqualityComparer<T> verglichen werden

Single<TSource>(IEnumerable<TSource>)

Gibt das einzige Element einer Sequenz zurück und löst eine Ausnahme aus, wenn nicht genau ein Element in der Sequenz vorhanden ist.

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

Gibt das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, und löst eine Ausnahme aus, wenn mehrere solche Elemente vorhanden sind.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Gibt das einzige Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz leer ist. Diese Methode löst eine Ausnahme aus, wenn mehrere Elemente in der Sequenz vorhanden sind.

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

Gibt das einzige Element einer Sequenz oder einen angegebenen Standardwert zurück, wenn die Sequenz leer ist. Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element in der Sequenz vorhanden ist.

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

Gibt das einzige Element einer Sequenz, das eine angegebene Bedingung erfüllt, oder einen Standardwert zurück, wenn kein solches Element vorhanden ist. Diese Methode löst eine Ausnahme aus, wenn mehrere Elemente die Bedingung erfüllen.

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

Gibt das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, oder einen angegebenen Standardwert, wenn kein solches Element vorhanden ist; Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element die Bedingung erfüllt.

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

Umgeht eine festgelegte Anzahl von Elementen in einer Sequenz und gibt dann die übrigen Elemente zurück

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

Gibt eine neue aufzählbare Auflistung zurück, die die Elemente aus source enthält, wobei die letzten count Elemente der Quellauflistung entfernt wurden.

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

Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück

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

Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück In der Logik der Prädikatfunktion wird der Index des Elements verwendet.

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

Berechnet die Summe einer Sequenz von Decimal-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Double-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Int32-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Int64-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Double-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Berechnet die Summe einer Sequenz von Single-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

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

Gibt eine angegebene Anzahl von zusammenhängenden Elementen ab dem Anfang einer Sequenz zurück

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

Gibt einen angegebenen Bereich von zusammenhängenden Elementen aus einer Sequenz zurück.

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

Gibt eine neue aufzählbare Auflistung zurück, die die letzten count Elemente aus source enthält.

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

Gibt Elemente aus einer Sequenz zurück, solange eine angegebene Bedingung TRUE ist

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

Gibt Elemente aus einer Sequenz zurück, solange eine angegebene Bedingung TRUE ist In der Logik der Prädikatfunktion wird der Index des Elements verwendet.

ToArray<TSource>(IEnumerable<TSource>)

Erstellt ein Array aus einem IEnumerable<T>.

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

Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion

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

Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion und eines angegebenen Schlüsselvergleichs

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

Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion

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

Erstellt ein Dictionary<TKey,TValue> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion

ToHashSet<TSource>(IEnumerable<TSource>)

Erstellt ein HashSet<T> aus einem IEnumerable<T>.

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

Erstellt ein HashSet<T>-Element aus einem IEnumerable<T>-Element mithilfe des comparer zum Vergleichen von Schlüsseln.

ToList<TSource>(IEnumerable<TSource>)

Erstellt ein List<T> aus einem IEnumerable<T>.

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

Erstellt ein Lookup<TKey,TElement> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion

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

Erstellt ein Lookup<TKey,TElement> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion und eines angegebenen Schlüsselvergleichs

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

Erstellt ein Lookup<TKey,TElement> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion

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

Erstellt ein Lookup<TKey,TElement> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion

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

Diese Methode versucht, die Anzahl der Elemente in einer Sequenz zu bestimmen, ohne eine Enumeration zu erzwingen.

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

Erzeugt die Vereinigungsmenge von zwei Sequenzen mithilfe des Standardgleichheitsvergleichs

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

Erzeugt mithilfe eines angegebenen IEqualityComparer<T> die Vereinigungsmenge von zwei Sequenzen

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

Erzeugt die Mengenunion von zwei Sequenzen gemäß einer angegebenen Schlüsselauswahlfunktion.

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

Erzeugt die Mengenunion von zwei Sequenzen gemäß einer angegebenen Schlüsselauswahlfunktion.

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

Filtert eine Sequenz von Werten basierend auf einem Prädikat.

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

Filtert eine Sequenz von Werten basierend auf einem Prädikat. In der Logik der Prädikatfunktion wird der Index der einzelnen Elemente verwendet.

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

Erzeugt eine Tupelsequenz mit Elementen aus den beiden angegebenen Sequenzen.

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

Erzeugt eine Sequenz von Tupeln mit Elementen aus den drei angegebenen Sequenzen.

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

Wendet eine Funktion auf die entsprechenden Elemente von zwei Sequenzen an, und erzeugt eine Sequenz der Ergebnisse

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsParallel<TSource>(IEnumerable<TSource>)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Konvertiert ein generisches IEnumerable<T> in ein generisches IQueryable<T>.

Ancestors<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.

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

Gibt eine gefilterte Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.

DescendantNodes<T>(IEnumerable<T>)

Gibt eine Auflistung der Nachfolgerknoten jedes Dokuments und Elements in der Quellauflistung zurück.

Descendants<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.

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

Gibt eine gefilterte Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.

Elements<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.

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

Gibt eine gefilterte Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.

InDocumentOrder<T>(IEnumerable<T>)

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.

Nodes<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Knoten jedes Dokuments und Elements in der Quellauflistung zurück.

Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.

Gilt für:

Threadsicherheit

Die Dispose-Methode ist nicht threadsicher. Alle anderen öffentlichen und geschützten Member von BlockingCollection<T> sind threadsicher und können gleichzeitig von mehreren Threads verwendet werden.

Weitere Informationen