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
[<System.Runtime.InteropServices.ComVisible(false)>]
type BlockingCollection<'T> = class
    interface seq<'T>
    interface ICollection
    interface IDisposable
    interface IReadOnlyCollection<'T>
    interface IEnumerable
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 Sie Elemente gleichzeitig aus einer Blockierungssammlung hinzufügen und übernehmen:

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 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
        }
    }
}
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 Thread-sichere 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 auch, dass die Dispose() Methode nicht threadsicher ist. Alle anderen öffentlichen und geschützten Elemente BlockingCollection<T> sind threadsicher und können gleichzeitig von mehreren Threads verwendet werden.

IProducerConsumerCollection<T> stellt eine Auflistung dar, die das Hinzufügen und Entfernen von Daten ermöglicht. BlockingCollection<T> wird als Wrapper für eine IProducerConsumerCollection<T> Instanz verwendet und ermöglicht das Entfernen von Versuchen aus der Auflistung, bis Daten entfernt werden können. Ebenso können Sie eine BlockingCollection<T> obere Grenze für die Anzahl der in der IProducerConsumerCollection<T>Sammlung zulässigen Datenelemente erzwingen. Darüber hinaus können Sie versuchen, die Auflistung zu blockieren, bis Speicherplatz verfügbar ist, um die hinzugefügten Elemente zu speichern. Auf diese Weise BlockingCollection<T> ähnelt eine herkömmliche Blockierungswarteschlangendatenstruktur, außer dass der zugrunde liegende Datenspeichermechanismus als IProducerConsumerCollection<T>abstrahiert wird.

BlockingCollection<T> unterstützt das Begrenzen und Blockieren. Die Begrenzung bedeutet, dass Sie die maximale Kapazität der Auflistung festlegen können. Die Begrenzung ist in bestimmten Szenarien wichtig, da Sie die maximale Größe der Auflistung im Arbeitsspeicher steuern können und verhindert, dass die Produktionsthreads vor dem Verbrauch von Threads zu weit vor dem Verbrauch von Threads verschoben werden. Mehrere Threads oder Aufgaben können der Auflistung gleichzeitig Elemente hinzufügen, und wenn die Auflistung die angegebene maximale Kapazität erreicht, wird die produktionsfähige 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 TryTake oder die Methode übergeben und dann den Wert der Eigenschaft des Token IsCancellationRequested auf jeder Iteration überprüfen. Wenn der Wert truelautet, ist es ihnen möglich, auf die Abbruchanforderung zu reagieren, indem Sie ressourcen bereinigen und die Schleife beenden.

Wenn Sie ein BlockingCollection<T> Objekt erstellen, können Sie nicht nur die gebundene Kapazität, sondern auch den zu verwendenden Auflistungstyp angeben. Sie können beispielsweise ein Objekt für das erste In-, First Out-Verhalten (FIFO) oder ein ConcurrentQueue<T> ConcurrentStack<T> Objekt für das letzte In(LIFO)-Verhalten 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 im Hinblick auf asynchronen Zugriff entwickelt. Wenn Ihre Anwendung asynchrone Hersteller-/Verbraucherszenarien erfordert, sollten Sie stattdessen verwenden Channel<T> .

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

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.

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 in Teile der Größe auf size.

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

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 entsprechend 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 Vergleichsgeber 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 Satzunterschied von zwei Sequenzen gemäß einer angegebenen Schlüsselauswahlfunktion.

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

Erzeugt den Satzunterschied 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.

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üsselauswahlfunktion.

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

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

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, die 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 entsprechend einer angegebenen Schlüsselauswahlfunktion zurück.

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

Gibt den Maximalwert in einer generischen Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und einem 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 Minimalwert in einer generischen Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion zurück.

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

Gibt den Minimalwert in einer generischen Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und einem Schlüsselvergleich zurück.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

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.

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 mehrere Elemente in der Sequenz vorhanden sind.

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 mehrere Elemente die Bedingung erfüllen.

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 zusammenhängender Elemente 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 Set-Union von zwei Sequenzen entsprechend einer angegebenen Tastenauswahlfunktion.

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

Erzeugt die Set-Union von zwei Sequenzen entsprechend einer angegebenen Tastenauswahlfunktion.

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 Tuples 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 Elemente BlockingCollection<T> sind threadsicher und können gleichzeitig von mehreren Threads verwendet werden.

Siehe auch