BlockingCollection<T> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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:
Eine Umsetzung des Hersteller-/Verbrauchermusters; BlockingCollection<T> ist ein Wrapper für die IProducerConsumerCollection<T> Schnittstelle.
Gleichzeitiges Hinzufügen und Entfernen von Elementen aus mehreren Threads mit den Methoden und Take MethodenAdd.
Eine gebundene Auflistung, die die Auflistung blockiert und Take vorgänge, Add wenn die Auflistung voll oder leer ist.
Abbruch oder Add Take Vorgänge mithilfe eines CancellationToken Objekts in der TryAdd oder TryTake Methode.
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 true
lautet, 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 |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter |
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 |
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 |
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 |
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 |
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.