(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

BlockingCollection<T>-Klasse

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

System.Object
  System.Collections.Concurrent.BlockingCollection<T>

Namespace:  System.Collections.Concurrent
Assembly:  System (in System.dll)

[ComVisibleAttribute(false)]
[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public class BlockingCollection<T> : IEnumerable<T>, 
	ICollection, IEnumerable, IDisposable

Typparameter

T

Der Typ der Elemente in der Auflistung.

Der BlockingCollection<T>-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBlockingCollection<T>()Initialisiert eine neue Instanz der BlockingCollection<T>-Klasse ohne obere Grenze.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBlockingCollection<T>(Int32)Initialisiert eine neue Instanz der BlockingCollection<T>-Klasse mit der angegebenen oberen Grenze.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBlockingCollection<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.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBlockingCollection<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.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBoundedCapacityRuft die begrenzte Kapazität dieser BlockingCollection<T>-Instanz ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCountRuft die Anzahl der Elemente in BlockingCollection<T> ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsAddingCompletedRuft ab, ob diese BlockingCollection<T> zum Hinzufügen als vollständig markiert wurde.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsCompletedRuft ab, ob diese BlockingCollection<T> zum Hinzufügen als vollständig markiert wurde und leer ist.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAdd(T)Fügt das Element der BlockingCollection<T> hinzu.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAdd(T, CancellationToken)Fügt das Element der BlockingCollection<T> hinzu.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAddToAny(BlockingCollection<T>[], T)Fügt das angegebene Element einer der angegebenen BlockingCollection<T>-Instanzen hinzu.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAddToAny(BlockingCollection<T>[], T, CancellationToken)Fügt das angegebene Element einer der angegebenen BlockingCollection<T>-Instanzen hinzu.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCompleteAddingMarkiert die BlockingCollection<T>-Instanzen als Instanzen, die keine weiteren Hinzufügungen annehmen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCopyToKopiert alle Elemente in der BlockingCollection<T>-Instanz in ein kompatibles eindimensionales Array, wobei am angegebenen Index des Zielarrays begonnen wird.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDispose()Gibt alle von der aktuellen Instanz der BlockingCollection<T>-Klasse verwendeten Ressourcen frei.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDispose(Boolean)Gibt von der BlockingCollection<T>-Instanz verwendete Ressourcen frei.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetConsumingEnumerable()Stellt ein verwendetes IEnumerator<T> für Elemente in der Auflistung bereit.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetConsumingEnumerable(CancellationToken)Stellt ein verwendetes IEnumerable<T> für Elemente in der Auflistung bereit.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTake()Entfernt ein Element aus BlockingCollection<T>.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTake(CancellationToken)Entfernt ein Element aus BlockingCollection<T>.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTakeFromAny(BlockingCollection<T>[], T)Verwendet ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTakeFromAny(BlockingCollection<T>[], T, CancellationToken)Verwendet ein Element aus einer angegebenen BlockingCollection<T>-Instanz und berücksichtigt das angegebene Abbruchtoken.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToArrayKopiert die Elemente aus der BlockingCollection<T>-Instanz in ein neues Array.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAdd(T)Versucht, der BlockingCollection<T> das angegebene Element hinzuzufügen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAdd(T, Int32)Versucht, das angegebene Element im angegebenen Zeitraum der BlockingCollection<T> hinzuzufügen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAdd(T, TimeSpan)Versucht, der BlockingCollection<T> das angegebene Element hinzuzufügen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAdd(T, Int32, CancellationToken)Versucht, das angegebene Element unter Berücksichtigung des Abbruchtokens im angegebenen Zeitraum der BlockingCollection<T> hinzuzufügen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAddToAny(BlockingCollection<T>[], T)Versucht, einer der angegebenen BlockingCollection<T>-Instanzen das angegebene Element hinzuzufügen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAddToAny(BlockingCollection<T>[], T, Int32)Versucht, einer der angegebenen BlockingCollection<T>-Instanzen das angegebene Element hinzuzufügen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAddToAny(BlockingCollection<T>[], T, TimeSpan)Versucht, das angegebene Element einer angegebenen BlockingCollection<T>-Instanz hinzuzufügen und berücksichtigt das angegebene Abbruchtoken.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryAddToAny(BlockingCollection<T>[], T, Int32, CancellationToken)Versucht, einer der angegebenen BlockingCollection<T>-Instanzen das angegebene Element hinzuzufügen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTake(T)Versucht, ein Element aus der BlockingCollection<T> zu entfernen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTake(T, Int32)Versucht, ein Element im angegebenen Zeitraum aus der BlockingCollection<T> zu entfernen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTake(T, TimeSpan)Versucht, ein Element im angegebenen Zeitraum aus der BlockingCollection<T> zu entfernen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTake(T, Int32, CancellationToken)Versucht, ein Element unter Berücksichtigung des Abbruchtokens im angegebenen Zeitraum aus der BlockingCollection<T> zu entfernen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTakeFromAny(BlockingCollection<T>[], T)Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTakeFromAny(BlockingCollection<T>[], T, Int32)Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTakeFromAny(BlockingCollection<T>[], T, TimeSpan)Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.
Öffentliche MethodeStatischer MemberUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTryTakeFromAny(BlockingCollection<T>[], T, Int32, CancellationToken)Versucht, ein Element aus einer der angegebenen BlockingCollection<T>-Instanzen zu entfernen.
Zum Seitenanfang

  NameBeschreibung
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAggregate<T>(Func<T, T, T>)Überladen. Wendet eine Akkumulatorfunktion auf eine Sequenz an. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAggregate<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>)Überladen. Wendet eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAggregate<T, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, T, TAccumulate>, Func<TAccumulate, TResult>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAll<T>Bestimmt, ob alle Elemente einer Sequenz eine Bedingung erfüllen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAny<T>()Überladen. Bestimmt, ob eine Sequenz Elemente enthält. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAny<T>(Func<T, Boolean>)Überladen. Bestimmt, ob ein Element einer Sequenz eine Bedingung erfüllt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAsEnumerable<T>Gibt die Eingabe als IEnumerable<T> zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAsParallel()Überladen. Ermöglicht die Parallelisierung einer Abfrage. (Durch ParallelEnumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAsParallel<T>()Überladen. Ermöglicht die Parallelisierung einer Abfrage. (Durch ParallelEnumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAsQueryable()Überladen. Konvertiert einen IEnumerable in einen IQueryable. (Durch Queryable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAsQueryable<T>()Überladen. Konvertiert ein generisches IEnumerable<T> in ein generisches IQueryable<T>. (Durch Queryable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Decimal>)Überladen. Berechnet den Durchschnitt einer Sequenz von Decimal-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Nullable<Decimal>>)Überladen. Berechnet den Durchschnitt einer Sequenz von Decimal-Werten, die NULL zulassen und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Double>)Überladen. Berechnet den Durchschnitt einer Sequenz von Double-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Nullable<Double>>)Überladen. Berechnet den Durchschnitt einer Sequenz von Double-Werten, die NULL zulassen und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Int32>)Überladen. Berechnet den Durchschnitt einer Sequenz von Int32-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Nullable<Int32>>)Überladen. Berechnet den Durchschnitt einer Sequenz von Int32-Werten, die NULL zulassen, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt wird. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Int64>)Überladen. Berechnet den Durchschnitt einer Sequenz von Int64-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Nullable<Int64>>)Überladen. Berechnet den Durchschnitt einer Sequenz von Int64-Werten, die NULL zulassen und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Single>)Überladen. Berechnet den Durchschnitt einer Sequenz von Single-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAverage<T>(Func<T, Nullable<Single>>)Überladen. Berechnet den Durchschnitt einer Sequenz von Single-Werten, die NULL zulassen und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCast<TResult>Wandelt die Elemente eines IEnumerable in den angegebenen Typ um. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsConcat<T>Verkettet zwei Sequenzen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsContains<T>(T)Überladen. Bestimmt mithilfe des Standardgleichheitsvergleichs, ob eine Sequenz ein angegebenes Element enthält. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsContains<T>(T, IEqualityComparer<T>)Überladen. Bestimmt mithilfe eines angegebenen IEqualityComparer<T>, ob eine Sequenz ein angegebenes Element enthält. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCount<T>()Überladen. Gibt die Anzahl der Elemente in einer Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCount<T>(Func<T, Boolean>)Überladen. Gibt eine Zahl zurück, die die Anzahl der Elemente in der angegebenen Sequenz angibt, die eine Bedingung erfüllen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDefaultIfEmpty<T>()Überladen. Gibt die Elemente der angegebenen Sequenz zurück, oder den Standardwert des Typparameters in einer Singletonauflistung, wenn die Sequenz leer ist. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDefaultIfEmpty<T>(T)Überladen. Gibt die Elemente der angegebenen Sequenz zurück, oder den angegebenen Wert in einer Singletonauflistung, wenn die Sequenz leer ist. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDistinct<T>()Überladen. Gibt mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDistinct<T>(IEqualityComparer<T>)Überladen. Gibt mithilfe eines angegebenen IEqualityComparer<T> zum Vergleichen von Werten unterschiedliche Elemente aus einer Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsElementAt<T>Gibt das Element an einem angegebenen Index in einer Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsElementAtOrDefault<T>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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsExcept<T>(IEnumerable<T>)Überladen. Erzeugt die Differenzmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsExcept<T>(IEnumerable<T>, IEqualityComparer<T>)Überladen. Erzeugt mithilfe des angegebenen IEqualityComparer<T> zum Vergleichen von Werten die Differenzmenge zweier Sequenzen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFirst<T>()Überladen. Gibt das erste Element einer Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFirst<T>(Func<T, Boolean>)Überladen. Gibt das erste Element in einer Sequenz zurück, das eine angegebene Bedingung erfüllt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFirstOrDefault<T>()Überladen. Gibt das erste Element einer Sequenz zurück, oder einen Standardwert, wenn die Sequenz keine Elemente enthält. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFirstOrDefault<T>(Func<T, Boolean>)Überladen. Gibt das erste Element der Sequenz zurück, das eine Bedingung erfüllt, oder einen Standardwert, wenn ein solches Element nicht gefunden wird. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey>(Func<T, TKey>)Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und vergleicht die Schlüssel mithilfe eines angegebenen Vergleichs. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und projiziert die Elemente für jede Gruppe mithilfe einer angegebenen Funktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>)Überladen. Gruppiert die Elemente einer Sequenz entsprechend einer angegebenen Schlüsselauswahlfunktion und erstellt aus jeder Gruppe und ihrem Schlüssel einen Ergebniswert. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>, IEqualityComparer<TKey>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>)Überladen. Korreliert die Elemente von zwei Sequenzen anhand der Gleichheit der Schlüssel und gruppiert die Ergebnisse. Schlüssel werden mithilfe des Standardgleichheitsvergleichs verglichen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIntersect<T>(IEnumerable<T>)Überladen. Erzeugt die Schnittmenge zweier Sequenzen mithilfe des Standardgleichheitsvergleichs zum Vergleichen von Werten. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIntersect<T>(IEnumerable<T>, IEqualityComparer<T>)Überladen. Erzeugt mithilfe des angegebenen IEqualityComparer<T> zum Vergleichen von Werten die Schnittmenge von zwei Sequenzen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>)Überladen. Korreliert die Elemente von zwei Sequenzen auf der Grundlage von übereinstimmenden Schlüsseln. Schlüssel werden mithilfe des Standardgleichheitsvergleichs verglichen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>, IEqualityComparer<TKey>)Überladen. Korreliert die Elemente von zwei Sequenzen auf der Grundlage von übereinstimmenden Schlüsseln. Schlüssel werden mithilfe eines angegebenen IEqualityComparer<T> verglichen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLast<T>()Überladen. Gibt das letzte Element einer Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLast<T>(Func<T, Boolean>)Überladen. Gibt das letzte Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLastOrDefault<T>()Überladen. Gibt das letzte Element einer Sequenz zurück, oder einen Standardwert, wenn die Sequenz keine Elemente enthält. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLastOrDefault<T>(Func<T, Boolean>)Überladen. Gibt das letzte Element einer Sequenz zurück, das eine Bedingung erfüllt, oder einen Standardwert, wenn ein solches Element nicht gefunden wird. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLongCount<T>()Überladen. Gibt ein Int64 zurück, das die Gesamtanzahl der Elemente in einer Sequenz darstellt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsLongCount<T>(Func<T, Boolean>)Überladen. Gibt ein Int64 zurück, das die Anzahl der Elemente in einer Sequenz darstellt, die eine Bedingung erfüllen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>()Überladen. Gibt den Höchstwert in einer generischen Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Decimal>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Decimal-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Nullable<Decimal>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Decimal-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Double>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Double-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Nullable<Double>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Double-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Int32>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Int32-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Nullable<Int32>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Int32-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Int64>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Int64-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Nullable<Int64>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Int64-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Single>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Single-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T>(Func<T, Nullable<Single>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den maximalen Single-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMax<T, TResult>(Func<T, TResult>)Überladen. Ruft für jedes Element einer generischen Sequenz eine Transformationsfunktion auf und gibt den höchsten Ergebniswert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>()Überladen. Gibt den Mindestwert in einer generischen Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Decimal>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Decimal-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Nullable<Decimal>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Decimal-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Double>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Double-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Nullable<Double>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Double-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Int32>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Int32-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Nullable<Int32>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Int32-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Int64>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Int64-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Nullable<Int64>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Int64-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Single>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Single-Wert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T>(Func<T, Nullable<Single>>)Überladen. Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf und gibt den minimalen Single-Wert zurück, der NULL-Werte zulässt. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMin<T, TResult>(Func<T, TResult>)Überladen. Ruft für jedes Element einer generischen Sequenz eine Transformationsfunktion auf und gibt den niedrigsten Ergebniswert zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOfType<TResult>Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOrderBy<T, TKey>(Func<T, TKey>)Überladen. Sortiert die Elemente einer Sequenz in aufsteigender Reihenfolge nach einem Schlüssel. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOrderBy<T, TKey>(Func<T, TKey>, IComparer<TKey>)Überladen. Sortiert die Elemente einer Sequenz mithilfe eines angegebenen Vergleichs in aufsteigender Reihenfolge. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOrderByDescending<T, TKey>(Func<T, TKey>)Überladen. Sortiert die Elemente einer Sequenz in absteigender Reihenfolge nach einem Schlüssel. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOrderByDescending<T, TKey>(Func<T, TKey>, IComparer<TKey>)Überladen. Sortiert die Elemente einer Sequenz mithilfe eines angegebenen Vergleichs in absteigender Reihenfolge. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReverse<T>Kehrt die Reihenfolge der Elemente in einer Sequenz um. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSelect<T, TResult>(Func<T, TResult>)Überladen. Projiziert jedes Element einer Sequenz in ein neues Format. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSelect<T, TResult>(Func<T, Int32, TResult>)Überladen. Projiziert jedes Element einer Sequenz in ein neues Format, indem der Index des Elements integriert wird. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSelectMany<T, TResult>(Func<T, IEnumerable<TResult>>)Überladen. Projiziert jedes Element einer Sequenz in ein IEnumerable<T> und fasst die resultierenden Sequenzen in einer einzigen Sequenz zusammen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSelectMany<T, TResult>(Func<T, Int32, IEnumerable<TResult>>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSelectMany<T, TCollection, TResult>(Func<T, Int32, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSelectMany<T, TCollection, TResult>(Func<T, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSequenceEqual<T>(IEnumerable<T>)Überladen. Bestimmt, ob zwei Sequenzen gleich sind, indem die Elemente mithilfe des Standardgleichheitsvergleichs für ihren Typ verglichen werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSequenceEqual<T>(IEnumerable<T>, IEqualityComparer<T>)Überladen. Bestimmt, ob zwei Sequenzen gleich sind, indem ihre Elemente mithilfe eines angegebenen IEqualityComparer<T> verglichen werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSingle<T>()Überladen. Gibt das einzige Element einer Sequenz zurück und löst eine Ausnahme aus, wenn nicht genau ein Element in der Sequenz vorhanden ist. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSingle<T>(Func<T, Boolean>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSingleOrDefault<T>()Überladen. Gibt das einzige Element einer Sequenz zurück oder einen Standardwert, wenn die Sequenz leer ist. Diese Methode löst eine Ausnahme aus, wenn mehrere Elemente in der Sequenz vorhanden sind. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSingleOrDefault<T>(Func<T, Boolean>)Überladen. Gibt das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, oder einen Standardwert, wenn kein solches Element vorhanden ist. Diese Methode löst eine Ausnahme aus, wenn mehrere Elemente die Bedingung erfüllen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSkip<T>Umgeht eine festgelegte Anzahl von Elementen in einer Sequenz und gibt dann die übrigen Elemente zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSkipWhile<T>(Func<T, Boolean>)Überladen. Umgeht Elemente in einer Sequenz, solange eine angegebene Bedingung true ist, und gibt dann die übrigen Elemente zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSkipWhile<T>(Func<T, Int32, Boolean>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Decimal>)Überladen. Berechnet die Summe einer Sequenz von Decimal-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Nullable<Decimal>>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Double>)Überladen. Berechnet die Summe einer Sequenz von Double-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Nullable<Double>>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Int32>)Überladen. Berechnet die Summe einer Sequenz von Int32-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Nullable<Int32>>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Int64>)Überladen. Berechnet die Summe einer Sequenz von Int64-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Nullable<Int64>>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Single>)Überladen. Berechnet die Summe einer Sequenz von Single-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsSum<T>(Func<T, Nullable<Single>>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTake<T>Gibt eine angegebene Anzahl von zusammenhängenden Elementen ab dem Anfang einer Sequenz zurück. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTakeWhile<T>(Func<T, Boolean>)Überladen. Gibt Elemente aus einer Sequenz zurück, solange eine angegebene Bedingung true ist. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTakeWhile<T>(Func<T, Int32, Boolean>)Überladen. 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. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToArray<T>Erstellt ein Array aus einem IEnumerable<T>. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToDictionary<T, TKey>(Func<T, TKey>)Überladen. Erstellt ein Dictionary<TKey, TValue> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToDictionary<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)Überladen. Erstellt ein Dictionary<TKey, TValue> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion und eines angegebenen Schlüsselvergleichs. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)Überladen. Erstellt ein Dictionary<TKey, TValue> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)Überladen. Erstellt ein Dictionary<TKey, TValue> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToList<T>Erstellt eine List<T> aus einem IEnumerable<T>. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToLookup<T, TKey>(Func<T, TKey>)Überladen. Erstellt ein Lookup<TKey, TElement> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToLookup<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)Überladen. Erstellt ein Lookup<TKey, TElement> aus einem IEnumerable<T> gemäß einer angegebenen Schlüsselauswahlfunktion und eines angegebenen Schlüsselvergleichs. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)Überladen. Erstellt ein Lookup<TKey, TElement> aus einem IEnumerable<T> entsprechend der angegebenen Schlüsselauswahlfunktion und Elementauswahlfunktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)Überladen. Erstellt ein Lookup<TKey, TElement> aus einem IEnumerable<T> entsprechend einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsUnion<T>(IEnumerable<T>)Überladen. Erzeugt die Vereinigungsmenge von zwei Sequenzen mithilfe des Standardgleichheitsvergleichs. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsUnion<T>(IEnumerable<T>, IEqualityComparer<T>)Überladen. Erzeugt mithilfe eines angegebenen IEqualityComparer<T> die Vereinigungsmenge von zwei Sequenzen. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsWhere<T>(Func<T, Boolean>)Überladen. Filtert eine Sequenz von Werten nach einem Prädikat. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsWhere<T>(Func<T, Int32, Boolean>)Überladen. Filtert eine Sequenz von Werten nach einem Prädikat. In der Logik der Prädikatfunktion wird der Index der einzelnen Elemente verwendet. (Durch Enumerable definiert.)
Öffentliche ErweiterungsmethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsZip<T, TSecond, TResult>Wendet eine Funktion auf die entsprechenden Elemente von zwei Sequenzen an und erzeugt eine Sequenz der Ergebnisse. (Durch Enumerable definiert.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICollection.CopyToKopiert alle Elemente in der BlockingCollection<T>-Instanz in ein kompatibles eindimensionales Array, wobei am angegebenen Index des Zielarrays begonnen wird.
Explizite SchnittstellenimplementierungPrivate EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICollection.IsSynchronizedRuft einen Wert ab, der angibt, ob der Zugriff auf die ICollection synchronisiert ist.
Explizite SchnittstellenimplementierungPrivate EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICollection.SyncRootRuft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann. Diese Eigenschaft wird nicht unterstützt.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIEnumerable<T>.GetEnumeratorStellt einen IEnumerator<T> für Elemente in der Auflistung bereit.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIEnumerable.GetEnumeratorStellt einen IEnumerator für Elemente in der Auflistung bereit.
Zum Seitenanfang

BlockingCollection<T> ist eine threadsichere Auflistungsklasse, die Folgendes enthält:

  • Eine Implementierung des Consumermusters Producer-Consumer-Muster wird; BlockingCollection<T> ist ein Wrapper für die IProducerConsumerCollection<T>-Schnittstelle.

  • Gleichzeitiges Hinzufügen und Entfernen von Elementen von mehreren Threads mit den Methoden Add und Take.

  • Eine gesprungene Auflistung, die Add und Take Operationen blockiert, wenn die Auflistung leer oder voll ist.

  • Abbruch von Add oder Take Vorgänge mithilfe eines CancellationToken-Objekts in der TryAdd-Methode TryTake.

Wichtiger HinweisWichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Wenn die Verwendung des Typs haben, sollten Sie diesen direkt oder indirekt entweder freigeben. Um den Typ direkt zu löschen, rufen Sie die Dispose-Methode in einem try/catch-Block auf. So zeigen ihn indirekt freizugeben, verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das Abschnitt IDisposable" im IDisposable-Schnittstellenthema implementiert. 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 von mehreren Threads gleichzeitig verwendet werden.

IProducerConsumerCollection<T> stellt eine Auflistung dar, die threadsicheren das Hinzufügen und Entfernen von Daten ermöglicht. BlockingCollection<T> wird als Wrapper für eine IProducerConsumerCollection<T>-Instanz verwendet, und Entfernenversuche von der Auflistung ermöglicht zu blockieren, bis, wurden entfernt Daten verfügbar zu sein. Ebenso können Sie BlockingCollection<T> erstellen, dass eine Obergrenze für die Anzahl von Datenelementen erzwingen, die in IProducerConsumerCollection<T> ermöglicht wird; Hinzufügungsversuche zur Auflistung blockieren kann, bis Platz verfügbar ist, die hinzugefügten Elemente zu speichern. Auf diese Weise ist BlockingCollection<T> einer herkömmlichen Blockierungswarteschlangendatenstruktur ähnlich, außer, dass der zugrunde liegende Datenspeichermechanismus als IProducerConsumerCollection<T> wegabstrahiert wird.

BlockingCollection<T> unterstützt Begrenzungs- und Blockierungsvorgänge. Das Begrenzen bedeutet, dass Sie die maximale Kapazität der Auflistung festlegen können. Das Begrenzen ist in bestimmten Szenarien wichtig, da es Ihnen ermöglicht, die maximale Größe der Auflistung im Arbeitsspeicher gesteuert werden kann, und es wird verhindert die Producer-Threads zu weit von den Consumer-Threads entfernen. Mehrere Threads oder Aufgaben können Elementen der Auflistung gleichzeitig hinzufügen, und wenn die Auflistung die angegebene maximale Kapazität erreicht, werden die Producer-Threads so lange blockiert, bis ein Element entfernt wird. Mehrere Consumer können gleichzeitig Elemente entfernen. Ist die Auflistung leer, werden die Consumer-Threads so lange blockiert, bis von einem Producer ein Element hinzugefügt wird. Von einem Producer-Thread kann die CompleteAdding-Methode aufrufen, um anzugeben, dass keine Elemente mehr hinzugefügt werden. Die IsCompleted-Eigenschaft wird von Consumern überwacht, damit keine Elemente mehr hinzugefügt werden, sobald die Auflistung leer ist.

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 zur TryAdd oder TryTake-Methode übergeben, und anschließend den Wert der IsCancellationRequested-Eigenschaft des Tokens in jeder Iteration überprüfen. Wenn der Wert true ist, ist er bis zu Ihnen, reagiert die Abbruchanforderung Bereinigen Sie hierzu alle Ressourcen, und beenden Sie die Schleife.

Wenn Sie ein BlockingCollection<T>-Objekt erstellen, können Sie nicht nur die begrenzte Kapazität angeben und der Typ der Auflistung, auch verwenden. Beispielsweise können Sie einen ConcurrentQueue<T> für Objekt zuerst in, First out (FIFO)- Verhalten oder einem ConcurrentStack<T>-Objekt für zuletzt angeben in, out (LIFO)- erstes Verhalten. Sie können jede Auflistungsklasse verwenden, von der die IProducerConsumerCollection<T>-Schnittstelle implementiert wird. Der standardmäßige Auflistungstyp für BlockingCollection<T> ist ConcurrentQueue<T>.

Ändern Sie nicht die zugrunde liegende Auflistung direkt. Verwenden Sie BlockingCollection<T>-Methoden, um Elemente hinzuzufügen oder zu entfernen. Das BlockingCollection<T>-Objekt kann beschädigt werden, wenn die zugrunde liegende Auflistung direkt ändern.

HinweisHinweis

Das auf diesen Typ oder Member angewendete HostProtectionAttribute-Attribut besitzt den folgenden Resources-Eigenschaftswert: Synchronization | ExternalThreading. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder einer URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.

Im folgenden Beispiel wird veranschaulicht, wie einer blockierenden Auflistung gleichzeitig Elemente hinzugefügt oder aus ihr genommen werden.


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

class BlockingCollectionDemo
{
    static void Main()
    {
        AddTakeDemo.BC_AddTakeCompleteAdding();
        TryTakeDemo.BC_TryTake();
        FromToAnyDemo.BC_FromToAny();
        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 void BC_AddTakeCompleteAdding()
    {
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {

            // Spin up a Task to populate the BlockingCollection 
            using (Task t1 = Task.Factory.StartNew(() =>
            {
                bc.Add(1);
                bc.Add(2);
                bc.Add(3);
                bc.CompleteAdding();
            }))
            {

                // Spin up a Task to consume the BlockingCollection
                using (Task t2 = Task.Factory.StartNew(() =>
                {
                    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!");
                    }
                }))

                    Task.WaitAll(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 void BC_GetConsumingEnumerable()
    {
        using (BlockingCollection<int> bc = new BlockingCollection<int>())
        {

            // Kick off a producer task
            Task.Factory.StartNew(() =>
            {
                for (int i = 0; i < 10; i++)
                {
                    bc.Add(i);
                    Thread.Sleep(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(item);
            }
        }
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft