BlockingCollection<T> Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje možnosti blokování a ohraničování pro kolekce bezpečné pro vlákna, které implementují IProducerConsumerCollection<T>.
generic <typename T>
public ref class BlockingCollection : IDisposable, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::ICollection
generic <typename T>
public ref class BlockingCollection : IDisposable, System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
public class BlockingCollection<T> : IDisposable, System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
type BlockingCollection<'T> = class
interface seq<'T>
interface IEnumerable
interface IReadOnlyCollection<'T>
interface ICollection
interface IDisposable
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type BlockingCollection<'T> = class
interface seq<'T>
interface IEnumerable
interface IReadOnlyCollection<'T>
interface ICollection
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type BlockingCollection<'T> = class
interface seq<'T>
interface ICollection
interface IEnumerable
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(false)>]
type BlockingCollection<'T> = class
interface seq<'T>
interface IEnumerable
interface ICollection
interface IDisposable
interface IReadOnlyCollection<'T>
type BlockingCollection<'T> = class
interface seq<'T>
interface ICollection
interface IEnumerable
interface IDisposable
Public Class BlockingCollection(Of T)
Implements ICollection, IDisposable, IEnumerable(Of T), IReadOnlyCollection(Of T)
Public Class BlockingCollection(Of T)
Implements ICollection, IDisposable, IEnumerable(Of T)
Parametry typu
- T
Typ prvků v kolekci.
- Dědičnost
-
BlockingCollection<T>
- Atributy
- Implementuje
Příklady
Následující příklad ukazuje, jak přidat a současně převzít položky z blokující kolekce:
using System;
using System.Collections.Concurrent;
using System.Threading;
using System.Threading.Tasks;
class BlockingCollectionDemo
{
static async Task Main()
{
await AddTakeDemo.BC_AddTakeCompleteAdding();
TryTakeDemo.BC_TryTake();
FromToAnyDemo.BC_FromToAny();
await ConsumingEnumerableDemo.BC_GetConsumingEnumerable();
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
class AddTakeDemo
{
// Demonstrates:
// BlockingCollection<T>.Add()
// BlockingCollection<T>.Take()
// BlockingCollection<T>.CompleteAdding()
public static async Task BC_AddTakeCompleteAdding()
{
using (BlockingCollection<int> bc = new BlockingCollection<int>())
{
// Spin up a Task to populate the BlockingCollection
Task t1 = Task.Run(() =>
{
bc.Add(1);
bc.Add(2);
bc.Add(3);
bc.CompleteAdding();
});
// Spin up a Task to consume the BlockingCollection
Task t2 = Task.Run(() =>
{
try
{
// Consume the BlockingCollection
while (true) Console.WriteLine(bc.Take());
}
catch (InvalidOperationException)
{
// An InvalidOperationException means that Take() was called on a completed collection
Console.WriteLine("That's All!");
}
});
await Task.WhenAll(t1, t2);
}
}
}
class TryTakeDemo
{
// Demonstrates:
// BlockingCollection<T>.Add()
// BlockingCollection<T>.CompleteAdding()
// BlockingCollection<T>.TryTake()
// BlockingCollection<T>.IsCompleted
public static void BC_TryTake()
{
// Construct and fill our BlockingCollection
using (BlockingCollection<int> bc = new BlockingCollection<int>())
{
int NUMITEMS = 10000;
for (int i = 0; i < NUMITEMS; i++) bc.Add(i);
bc.CompleteAdding();
int outerSum = 0;
// Delegate for consuming the BlockingCollection and adding up all items
Action action = () =>
{
int localItem;
int localSum = 0;
while (bc.TryTake(out localItem)) localSum += localItem;
Interlocked.Add(ref outerSum, localSum);
};
// Launch three parallel actions to consume the BlockingCollection
Parallel.Invoke(action, action, action);
Console.WriteLine("Sum[0..{0}) = {1}, should be {2}", NUMITEMS, outerSum, ((NUMITEMS * (NUMITEMS - 1)) / 2));
Console.WriteLine("bc.IsCompleted = {0} (should be true)", bc.IsCompleted);
}
}
}
class FromToAnyDemo
{
// Demonstrates:
// Bounded BlockingCollection<T>
// BlockingCollection<T>.TryAddToAny()
// BlockingCollection<T>.TryTakeFromAny()
public static void BC_FromToAny()
{
BlockingCollection<int>[] bcs = new BlockingCollection<int>[2];
bcs[0] = new BlockingCollection<int>(5); // collection bounded to 5 items
bcs[1] = new BlockingCollection<int>(5); // collection bounded to 5 items
// Should be able to add 10 items w/o blocking
int numFailures = 0;
for (int i = 0; i < 10; i++)
{
if (BlockingCollection<int>.TryAddToAny(bcs, i) == -1) numFailures++;
}
Console.WriteLine("TryAddToAny: {0} failures (should be 0)", numFailures);
// Should be able to retrieve 10 items
int numItems = 0;
int item;
while (BlockingCollection<int>.TryTakeFromAny(bcs, out item) != -1) numItems++;
Console.WriteLine("TryTakeFromAny: retrieved {0} items (should be 10)", numItems);
}
}
class ConsumingEnumerableDemo
{
// Demonstrates:
// BlockingCollection<T>.Add()
// BlockingCollection<T>.CompleteAdding()
// BlockingCollection<T>.GetConsumingEnumerable()
public static async Task BC_GetConsumingEnumerable()
{
using (BlockingCollection<int> bc = new BlockingCollection<int>())
{
// Kick off a producer task
var producerTask = Task.Run(async () =>
{
for (int i = 0; i < 10; i++)
{
bc.Add(i);
Console.WriteLine($"Producing: {i}");
await Task.Delay(100); // sleep 100 ms between adds
}
// Need to do this to keep foreach below from hanging
bc.CompleteAdding();
});
// Now consume the blocking collection with foreach.
// Use bc.GetConsumingEnumerable() instead of just bc because the
// former will block waiting for completion and the latter will
// simply take a snapshot of the current state of the underlying collection.
foreach (var item in bc.GetConsumingEnumerable())
{
Console.WriteLine($"Consuming: {item}");
}
await producerTask; // Allow task to complete cleanup
}
}
}
open System
open System.Collections.Concurrent
open System.Threading
open System.Threading.Tasks
module AddTakeDemo =
// Demonstrates:
// BlockingCollection<T>.Add()
// BlockingCollection<T>.Take()
// BlockingCollection<T>.CompleteAdding()
let blockingCollectionAddTakeCompleteAdding () =
task {
use bc = new BlockingCollection<int>()
// Spin up a Task to populate the BlockingCollection
let t1 =
task {
bc.Add 1
bc.Add 2
bc.Add 3
bc.CompleteAdding()
}
// Spin up a Task to consume the BlockingCollection
let t2 =
task {
try
// Consume consume the BlockingCollection
while true do
printfn $"{bc.Take()}"
with :? InvalidOperationException ->
// An InvalidOperationException means that Take() was called on a completed collection
printfn "That's All!"
}
let! _ = Task.WhenAll(t1, t2)
()
}
module TryTakeDemo =
// Demonstrates:
// BlockingCollection<T>.Add()
// BlockingCollection<T>.CompleteAdding()
// BlockingCollection<T>.TryTake()
// BlockingCollection<T>.IsCompleted
let blockingCollectionTryTake () =
// Construct and fill our BlockingCollection
use bc = new BlockingCollection<int>()
let NUMITEMS = 10000;
for i = 0 to NUMITEMS - 1 do
bc.Add i
bc.CompleteAdding()
let mutable outerSum = 0
// Delegate for consuming the BlockingCollection and adding up all items
let action =
Action(fun () ->
let mutable localItem = 0
let mutable localSum = 0
while bc.TryTake &localItem do
localSum <- localSum + localItem
Interlocked.Add(&outerSum, localSum)
|> ignore)
// Launch three parallel actions to consume the BlockingCollection
Parallel.Invoke(action, action, action)
printfn $"Sum[0..{NUMITEMS}) = {outerSum}, should be {((NUMITEMS * (NUMITEMS - 1)) / 2)}"
printfn $"bc.IsCompleted = {bc.IsCompleted} (should be true)"
module FromToAnyDemo =
// Demonstrates:
// Bounded BlockingCollection<T>
// BlockingCollection<T>.TryAddToAny()
// BlockingCollection<T>.TryTakeFromAny()
let blockingCollectionFromToAny () =
let bcs =
[|
new BlockingCollection<int>(5) // collection bounded to 5 items
new BlockingCollection<int>(5) // collection bounded to 5 items
|]
// Should be able to add 10 items w/o blocking
let mutable numFailures = 0;
for i = 0 to 9 do
if BlockingCollection<int>.TryAddToAny(bcs, i) = -1 then
numFailures <- numFailures + 1
printfn $"TryAddToAny: {numFailures} failures (should be 0)"
// Should be able to retrieve 10 items
let mutable numItems = 0
let mutable item = 0
while BlockingCollection<int>.TryTakeFromAny(bcs, &item) <> -1 do
numItems <- numItems + 1
printfn $"TryTakeFromAny: retrieved {numItems} items (should be 10)"
module ConsumingEnumerableDemo =
// Demonstrates:
// BlockingCollection<T>.Add()
// BlockingCollection<T>.CompleteAdding()
// BlockingCollection<T>.GetConsumingEnumerable()
let blockingCollectionGetConsumingEnumerable () =
task {
use bc = new BlockingCollection<int>()
// Kick off a producer task
let producerTask =
task {
for i = 0 to 9 do
bc.Add i
printfn $"Producing: {i}"
do! Task.Delay 100 // sleep 100 ms between adds
// Need to do this to keep foreach below from hanging
bc.CompleteAdding()
}
// Now consume the blocking collection with foreach.
// Use bc.GetConsumingEnumerable() instead of just bc because the
// former will block waiting for completion and the latter will
// simply take a snapshot of the current state of the underlying collection.
for item in bc.GetConsumingEnumerable() do
printfn $"Consuming: {item}"
do! producerTask // Allow task to complete cleanup
}
let main =
task {
do! AddTakeDemo.blockingCollectionAddTakeCompleteAdding ()
TryTakeDemo.blockingCollectionTryTake ()
FromToAnyDemo.blockingCollectionFromToAny ()
do! ConsumingEnumerableDemo.blockingCollectionGetConsumingEnumerable ()
printfn "Press any key to exit."
Console.ReadKey(true) |> ignore
}
main.Wait()
Imports System.Threading.Tasks
Imports System.Collections.Concurrent
Imports System.Threading
Class BlockingCollectionDemo
Shared Sub Main()
AddTakeDemo.BC_AddTakeCompleteAdding()
TryTakeDemo.BC_TryTake()
ToAnyDemo.BC_ToAny()
ConsumingEnumerableDemo.BC_GetConsumingEnumerable()
' Keep the console window open in debug mode
Console.WriteLine("Press any key to exit.")
Console.ReadKey()
End Sub
End Class
Class AddTakeDemo
' Demonstrates:
' BlockingCollection<T>.Add()
' BlockingCollection<T>.Take()
' BlockingCollection<T>.CompleteAdding()
Shared Sub BC_AddTakeCompleteAdding()
Using bc As New BlockingCollection(Of Integer)()
' Spin up a Task to populate the BlockingCollection
Using t1 As Task = Task.Factory.StartNew(
Sub()
bc.Add(1)
bc.Add(2)
bc.Add(3)
bc.CompleteAdding()
End Sub)
' Spin up a Task to consume the BlockingCollection
Using t2 As Task = Task.Factory.StartNew(
Sub()
Try
' Consume the BlockingCollection
While True
Console.WriteLine(bc.Take())
End While
Catch generatedExceptionName As InvalidOperationException
' An InvalidOperationException means that Take() was called on a completed collection
Console.WriteLine("That's All!")
End Try
End Sub)
Task.WaitAll(t1, t2)
End Using
End Using
End Using
End Sub
End Class
'Imports System.Collections.Concurrent
'Imports System.Threading
'Imports System.Threading.Tasks
Class TryTakeDemo
' Demonstrates:
' BlockingCollection<T>.Add()
' BlockingCollection<T>.CompleteAdding()
' BlockingCollection<T>.TryTake()
' BlockingCollection<T>.IsCompleted
Shared Sub BC_TryTake()
' Construct and fill our BlockingCollection
Using bc As New BlockingCollection(Of Integer)()
Dim NUMITEMS As Integer = 10000
For i As Integer = 0 To NUMITEMS - 1
bc.Add(i)
Next
bc.CompleteAdding()
Dim outerSum As Integer = 0
' Delegate for consuming the BlockingCollection and adding up all items
Dim action As Action =
Sub()
Dim localItem As Integer
Dim localSum As Integer = 0
While bc.TryTake(localItem)
localSum += localItem
End While
Interlocked.Add(outerSum, localSum)
End Sub
' Launch three parallel actions to consume the BlockingCollection
Parallel.Invoke(action, action, action)
Console.WriteLine("Sum[0..{0}) = {1}, should be {2}", NUMITEMS, outerSum, ((NUMITEMS * (NUMITEMS - 1)) / 2))
Console.WriteLine("bc.IsCompleted = {0} (should be true)", bc.IsCompleted)
End Using
End Sub
End Class
'Imports System.Threading.Tasks
'Imports System.Collections.Concurrent
' Demonstrates:
' Bounded BlockingCollection<T>
' BlockingCollection<T>.TryAddToAny()
' BlockingCollection<T>.TryTakeFromAny()
Class ToAnyDemo
Shared Sub BC_ToAny()
Dim bcs As BlockingCollection(Of Integer)() = New BlockingCollection(Of Integer)(1) {}
bcs(0) = New BlockingCollection(Of Integer)(5)
' collection bounded to 5 items
bcs(1) = New BlockingCollection(Of Integer)(5)
' collection bounded to 5 items
' Should be able to add 10 items w/o blocking
Dim numFailures As Integer = 0
For i As Integer = 0 To 9
If BlockingCollection(Of Integer).TryAddToAny(bcs, i) = -1 Then
numFailures += 1
End If
Next
Console.WriteLine("TryAddToAny: {0} failures (should be 0)", numFailures)
' Should be able to retrieve 10 items
Dim numItems As Integer = 0
Dim item As Integer
While BlockingCollection(Of Integer).TryTakeFromAny(bcs, item) <> -1
numItems += 1
End While
Console.WriteLine("TryTakeFromAny: retrieved {0} items (should be 10)", numItems)
End Sub
End Class
'Imports System.Threading.Tasks
'Imports System.Collections.Concurrent
' Demonstrates:
' BlockingCollection<T>.Add()
' BlockingCollection<T>.CompleteAdding()
' BlockingCollection<T>.GetConsumingEnumerable()
Class ConsumingEnumerableDemo
Shared Sub BC_GetConsumingEnumerable()
Using bc As New BlockingCollection(Of Integer)()
' Kick off a producer task
Task.Factory.StartNew(
Sub()
For i As Integer = 0 To 9
bc.Add(i)
' sleep 100 ms between adds
Thread.Sleep(100)
Next
' Need to do this to keep foreach below from not responding.
bc.CompleteAdding()
End Sub)
' Now consume the blocking collection with foreach.
' Use bc.GetConsumingEnumerable() instead of just bc because the
' former will block waiting for completion and the latter will
' simply take a snapshot of the current state of the underlying collection.
For Each item In bc.GetConsumingEnumerable()
Console.WriteLine(item)
Next
End Using
End Sub
End Class
Poznámky
BlockingCollection<T> je třída kolekce bezpečná pro vlákna, která poskytuje následující:
provádění vzorce výrobce/spotřebitele; BlockingCollection<T> je obálka pro IProducerConsumerCollection<T> rozhraní.
Souběžné přidávání a odebírání položek z více vláken pomocí Add metod a Take
Ohraničená kolekce, která blokuje Add a Take pracuje, když je kolekce plná nebo prázdná.
Add Zrušení operací nebo Take pomocí objektu CancellationTokenTryAdd v metodě neboTryTake.
Důležité
Tento typ implementuje IDisposable rozhraní. Po dokončení používání tohoto typu byste ho měli přímo nebo nepřímo odstranit. Pokud chcete odstranit typ přímo, zavolejte jeho Dispose metodu try
/catch
v bloku. Pokud ho chcete odstranit nepřímo, použijte konstruktor jazyka, například using
(v jazyce C#) nebo Using
(v jazyce Visual Basic). Další informace najdete v části "Použití objektu, který implementuje IDisposable" v IDisposable tématu rozhraní. Všimněte si také, že Dispose() metoda není bezpečná pro přístup z více vláken. Všechny ostatní veřejné a chráněné členy BlockingCollection<T> jsou bezpečné z více vláken a mohou být používány souběžně z více vláken.
IProducerConsumerCollection<T> představuje kolekci, která umožňuje přidávání a odebírání dat bez použití vláken. BlockingCollection<T> se používá jako obálka IProducerConsumerCollection<T> instance a umožňuje blokovat pokusy o odebrání z kolekce, dokud nebudou data k dispozici k odebrání. Podobně můžete vytvořit objekt, který BlockingCollection<T> vynutí horní hranici počtu datových prvků povolených v IProducerConsumerCollection<T>; pokusy o přidání do kolekce pak mohou blokovat, dokud nebude k dispozici místo pro uložení přidaných položek. Tímto způsobem BlockingCollection<T> se podobá tradiční struktuře dat blokující fronty s tím rozdílem, že základní mechanismus úložiště dat je abstrahován jako IProducerConsumerCollection<T>.
BlockingCollection<T> podporuje ohraničování a blokování. Ohraničení znamená, že můžete nastavit maximální kapacitu kolekce. Ohraničení je v určitých scénářích důležité, protože umožňuje řídit maximální velikost kolekce v paměti a brání vytváření vláken v příliš velkém předstihu před spotřebovávaná vlákna. Více vláken nebo úkolů může přidávat položky do kolekce současně, a pokud kolekce dosáhne zadané maximální kapacity, vytváření vláken se zablokuje, dokud se položka neodebere. Položky může současně odebírat více příjemců, a pokud se kolekce stane prázdnou, spotřebovávají se vlákna blokující, dokud producent položku přidá. Vytvářející vlákno může volat metodu CompleteAdding , která označuje, že nebudou přidány žádné další položky. Příjemci vlastnost monitorují IsCompleted , aby věděli, kdy je kolekce prázdná a nebudou přidány žádné další položky.
Add a Take operace se obvykle provádějí ve smyčce. Smyčku můžete zrušit předáním objektu CancellationToken metodě TryAdd nebo TryTake a následnou kontrolou hodnoty vlastnosti tokenu IsCancellationRequested při každé iteraci. Pokud je true
hodnota , je na vás, abyste na žádost o zrušení odpověděli vyčištěním všech prostředků a ukončením smyčky.
Při vytváření objektu BlockingCollection<T> můžete určit nejen ohraničenou kapacitu, ale také typ kolekce, která se má použít. Můžete například zadat ConcurrentQueue<T> objekt pro chování fifo (first in), first out (FIFO) nebo ConcurrentStack<T> objekt pro chování posledního in a prvního ven (LIFO). Můžete použít libovolnou třídu kolekce, která implementuje IProducerConsumerCollection<T> rozhraní. Výchozí typ kolekce pro BlockingCollection<T> je ConcurrentQueue<T>.
Neupravujte přímo podkladovou kolekci. K přidání nebo odebrání elementů použijte BlockingCollection<T> metody. Pokud BlockingCollection<T> změníte přímo podkladovou kolekci, může dojít k poškození objektu.
BlockingCollection<T> nebyl navržen s ohledem na asynchronní přístup. Pokud vaše aplikace vyžaduje asynchronní scénáře producenta/příjemce, zvažte místo toho použití Channel<T> .
Konstruktory
BlockingCollection<T>() |
Inicializuje novou instanci BlockingCollection<T> třídy bez horní hranice. |
BlockingCollection<T>(Int32) |
Inicializuje novou instanci BlockingCollection<T> třídy se zadanou horní mez. |
BlockingCollection<T>(IProducerConsumerCollection<T>) |
Inicializuje novou instanci BlockingCollection<T> třídy bez horní hranice a pomocí poskytnuté IProducerConsumerCollection<T> jako podkladové úložiště dat. |
BlockingCollection<T>(IProducerConsumerCollection<T>, Int32) |
Inicializuje novou instanci BlockingCollection<T> třídy se zadaným horním limitem a pomocí poskytnutého IProducerConsumerCollection<T> jako podkladového úložiště dat. |
Vlastnosti
BoundedCapacity |
Získá ohraničenou kapacitu této BlockingCollection<T> instance. |
Count |
Získá počet položek obsažených v objektu BlockingCollection<T>. |
IsAddingCompleted |
Získá, zda to BlockingCollection<T> bylo označeno jako dokončeno pro přidání. |
IsCompleted |
Získá, zda BlockingCollection<T> byl označen jako dokončený pro přidání a je prázdný. |
Metody
Add(T) |
Přidá položku do objektu BlockingCollection<T>. |
Add(T, CancellationToken) |
Přidá položku do objektu BlockingCollection<T>. |
AddToAny(BlockingCollection<T>[], T) |
Přidá zadanou položku do libovolné ze zadaných BlockingCollection<T> instancí. |
AddToAny(BlockingCollection<T>[], T, CancellationToken) |
Přidá zadanou položku do libovolné ze zadaných BlockingCollection<T> instancí. |
CompleteAdding() |
Označí BlockingCollection<T> instance jako nepřijímající žádné další dodatky. |
CopyTo(T[], Int32) |
Zkopíruje všechny položky v BlockingCollection<T> instanci do kompatibilního jednorozměrného pole, počínaje zadaným indexem cílového pole. |
Dispose() |
Uvolní všechny prostředky používané aktuální instancí BlockingCollection<T> třídy. |
Dispose(Boolean) |
Uvolní prostředky používané BlockingCollection<T> instancí. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetConsumingEnumerable() |
Poskytuje využití IEnumerable<T> pro položky v kolekci. |
GetConsumingEnumerable(CancellationToken) |
Poskytuje využití IEnumerable<T> pro položky v kolekci. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Take() |
Odebere položku z objektu BlockingCollection<T>. |
Take(CancellationToken) |
Odebere položku z objektu BlockingCollection<T>. |
TakeFromAny(BlockingCollection<T>[], T) |
Převezme položku z libovolné ze zadaných BlockingCollection<T> instancí. |
TakeFromAny(BlockingCollection<T>[], T, CancellationToken) |
Vezme položku z libovolné ze zadaných BlockingCollection<T> instancí při pozorování zadaného tokenu zrušení. |
ToArray() |
Zkopíruje položky z BlockingCollection<T> instance do nového pole. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
TryAdd(T) |
Pokusí se přidat zadanou položku do objektu BlockingCollection<T>. |
TryAdd(T, Int32) |
Pokusí se přidat zadanou položku do BlockingCollection<T> zadaného časového období. |
TryAdd(T, Int32, CancellationToken) |
Pokusí se přidat zadanou položku do BlockingCollection<T> zadaného časového období při dodržení tokenu zrušení. |
TryAdd(T, TimeSpan) |
Pokusí se přidat zadanou položku do objektu BlockingCollection<T>. |
TryAddToAny(BlockingCollection<T>[], T) |
Pokusí se přidat zadanou položku do některé ze zadaných BlockingCollection<T> instancí. |
TryAddToAny(BlockingCollection<T>[], T, Int32) |
Pokusí se přidat zadanou položku do některé ze zadaných BlockingCollection<T> instancí. |
TryAddToAny(BlockingCollection<T>[], T, Int32, CancellationToken) |
Pokusí se přidat zadanou položku do některé ze zadaných BlockingCollection<T> instancí. |
TryAddToAny(BlockingCollection<T>[], T, TimeSpan) |
Pokusí se přidat zadanou položku do některé ze zadaných BlockingCollection<T> instancí při dodržení zadaného tokenu zrušení. |
TryTake(T) |
Pokusí se odebrat položku z objektu BlockingCollection<T>. |
TryTake(T, Int32) |
Pokusí se odebrat položku z zadaného BlockingCollection<T> časového období. |
TryTake(T, Int32, CancellationToken) |
Pokusí se odebrat položku z BlockingCollection<T> zadaného časového období při sledování tokenu zrušení. |
TryTake(T, TimeSpan) |
Pokusí se odebrat položku z zadaného BlockingCollection<T> časového období. |
TryTakeFromAny(BlockingCollection<T>[], T) |
Pokusí se odebrat položku z některé ze zadaných BlockingCollection<T> instancí. |
TryTakeFromAny(BlockingCollection<T>[], T, Int32) |
Pokusí se odebrat položku z některé ze zadaných BlockingCollection<T> instancí. |
TryTakeFromAny(BlockingCollection<T>[], T, Int32, CancellationToken) |
Pokusí se odebrat položku z některé ze zadaných BlockingCollection<T> instancí. |
TryTakeFromAny(BlockingCollection<T>[], T, TimeSpan) |
Pokusí se odebrat položku z některé ze zadaných BlockingCollection<T> instancí. |
Explicitní implementace rozhraní
ICollection.CopyTo(Array, Int32) |
Zkopíruje všechny položky v BlockingCollection<T> instanci do kompatibilního jednorozměrného pole, počínaje zadaným indexem cílového pole. |
ICollection.IsSynchronized |
Získá hodnotu označující, zda je přístup k ICollection je synchronizován (bez vláken). |
ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k ICollection. Tato vlastnost není podporována. |
IEnumerable.GetEnumerator() |
Poskytuje objekt IEnumerator pro položky v kolekci. |
IEnumerable<T>.GetEnumerator() |
Poskytuje objekt IEnumerator<T> pro položky v kolekci. |
Metody rozšíření
ToFrozenDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
FrozenDictionary<TKey,TValue> Vytvoří z objektu IEnumerable<T> podle zadané funkce selektoru klíčů. |
ToFrozenDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
FrozenDictionary<TKey,TValue> Vytvoří z objektu IEnumerable<T> podle zadaného selektoru klíčů a funkcí selektoru prvků. |
ToFrozenSet<T>(IEnumerable<T>, IEqualityComparer<T>) |
Vytvoří se FrozenSet<T> zadanými hodnotami. |
ToImmutableArray<TSource>(IEnumerable<TSource>) |
Vytvoří neměnné pole ze zadané kolekce. |
ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Vytvoří neměnný slovník z existující kolekce prvků a použije transformační funkci na zdrojové klíče. |
ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Vytvoří neměnný slovník založený na určité transformaci sekvence. |
ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Vytvoří výčet a transformuje sekvenci a vytvoří neměnný slovník jejího obsahu. |
ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>) |
Vytvoří výčet a transformuje sekvenci a vytvoří neměnný slovník jejího obsahu pomocí zadaného porovnávače klíčů. |
ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>) |
Vytvoří výčet a transformuje sekvenci a vytvoří neměnný slovník jejího obsahu pomocí zadaných porovnávačů klíčů a hodnot. |
ToImmutableHashSet<TSource>(IEnumerable<TSource>) |
Vytvoří výčet sekvence a vytvoří neměnnou sadu hodnot hash jejího obsahu. |
ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vytvoří výčet sekvence, vytvoří neměnnou sadu hodnot hash jejího obsahu a použije zadaný porovnávač rovnosti pro typ sady. |
ToImmutableList<TSource>(IEnumerable<TSource>) |
Vytvoří výčet sekvence a vytvoří neměnný seznam jejího obsahu. |
ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>) |
Vytvoří výčet a transformuje sekvenci a vytvoří neměnný seřazený slovník jejího obsahu. |
ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>) |
Vytvoří výčet a transformuje sekvenci a vytvoří neměnný seřazený slovník jejího obsahu pomocí zadaného porovnávače klíčů. |
ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>) |
Vytvoří výčet a transformuje sekvenci a vytvoří neměnný slovník seřazeného obsahu pomocí zadaných porovnávačů klíčů a hodnot. |
ToImmutableSortedSet<TSource>(IEnumerable<TSource>) |
Vytvoří výčet sekvence a vytvoří neměnnou seřazenou sadu jejího obsahu. |
ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Vytvoří výčet sekvence, vytvoří neměnnou seřazenou sadu jejího obsahu a použije zadaný porovnávač. |
CopyToDataTable<T>(IEnumerable<T>) |
Vrátí hodnotuDataTable, která obsahuje kopie DataRow objektů vzhledem ke vstupnímu IEnumerable<T> objektu, kde je DataRowobecný parametr |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Zkopíruje DataRow objekty do zadaného DataTableobjektu s ohledem na vstupní IEnumerable<T> objekt, kde obecný parametr |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Zkopíruje DataRow objekty do zadaného DataTableobjektu s ohledem na vstupní IEnumerable<T> objekt, kde obecný parametr |
Aggregate<TSource>(IEnumerable<TSource>, Func<TSource,TSource,TSource>) |
Použije funkci akumulátoru na sekvenci. |
Aggregate<TSource,TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>) |
Použije funkci akumulátoru na sekvenci. Zadaná počáteční hodnota se použije jako počáteční hodnota akumulátoru. |
Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>) |
Použije funkci akumulátoru na sekvenci. Zadaná počáteční hodnota se použije jako počáteční hodnota akumulátoru a zadaná funkce se použije k výběru výsledné hodnoty. |
AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>) |
Poskytuje možnosti blokování a ohraničování pro kolekce bezpečné pro vlákna, které implementují IProducerConsumerCollection<T>. |
AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>) |
Poskytuje možnosti blokování a ohraničování pro kolekce bezpečné pro vlákna, které implementují IProducerConsumerCollection<T>. |
All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Určuje, zda všechny prvky sekvence splňují podmínku. |
Any<TSource>(IEnumerable<TSource>) |
Určuje, zda sekvence obsahuje nějaké prvky. |
Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Určuje, zda některý prvek sekvence splňuje podmínku. |
Append<TSource>(IEnumerable<TSource>, TSource) |
Připojí hodnotu na konec sekvence. |
AsEnumerable<TSource>(IEnumerable<TSource>) |
Vrátí vstup zadaný jako IEnumerable<T>. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Vypočítá průměr posloupnosti Decimal hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Vypočítá průměr posloupnosti Double hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Vypočítá průměr posloupnosti Int32 hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Vypočítá průměr posloupnosti Int64 hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Vypočítá průměr posloupnosti hodnot s možnou Decimal hodnotou null, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Vypočítá průměr posloupnosti hodnot s možnou Double hodnotou null, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Vypočítá průměr posloupnosti hodnot s možnou Int32 hodnotou null, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Vypočítá průměr posloupnosti hodnot s možnou Int64 hodnotou null, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Vypočítá průměr posloupnosti hodnot s možnou Single hodnotou null, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Average<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Vypočítá průměr posloupnosti Single hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Cast<TResult>(IEnumerable) |
Přetypuje prvky objektu na IEnumerable zadaný typ. |
Chunk<TSource>(IEnumerable<TSource>, Int32) |
Rozdělí prvky sekvence na bloky o velikosti maximálně |
Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Zřetězí dvě sekvence. |
Contains<TSource>(IEnumerable<TSource>, TSource) |
Určuje, zda sekvence obsahuje zadaný prvek pomocí výchozího porovnávače rovnosti. |
Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>) |
Určuje, zda sekvence obsahuje zadaný prvek pomocí zadané IEqualityComparer<T>. |
Count<TSource>(IEnumerable<TSource>) |
Vrátí počet prvků v sekvenci. |
Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí číslo, které představuje, kolik prvků v zadané sekvenci splňuje podmínku. |
CountBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Poskytuje možnosti blokování a ohraničování pro kolekce bezpečné pro vlákna, které implementují IProducerConsumerCollection<T>. |
DefaultIfEmpty<TSource>(IEnumerable<TSource>) |
Vrátí prvky zadané sekvence nebo výchozí hodnotu parametru typu v jednoúčelové kolekci, pokud je sekvence prázdná. |
DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource) |
Vrátí prvky zadané sekvence nebo zadanou hodnotu v jednoúčelové kolekci, pokud je sekvence prázdná. |
Distinct<TSource>(IEnumerable<TSource>) |
Vrátí odlišné prvky ze sekvence pomocí výchozího porovnávače rovnosti k porovnání hodnot. |
Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vrátí odlišné prvky ze sekvence pomocí zadané IEqualityComparer<T> pro porovnání hodnot. |
DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Vrátí odlišné prvky ze sekvence podle zadané funkce selektoru klíčů. |
DistinctBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Vrátí odlišné prvky ze sekvence podle zadané funkce selektoru klíčů a pomocí zadaného porovnávače k porovnání klíčů. |
ElementAt<TSource>(IEnumerable<TSource>, Index) |
Vrátí prvek v zadaném indexu v sekvenci. |
ElementAt<TSource>(IEnumerable<TSource>, Int32) |
Vrátí prvek v zadaném indexu v sekvenci. |
ElementAtOrDefault<TSource>(IEnumerable<TSource>, Index) |
Vrátí prvek v zadaném indexu v sekvenci nebo výchozí hodnotu, pokud je index mimo rozsah. |
ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32) |
Vrátí prvek v zadaném indexu v sekvenci nebo výchozí hodnotu, pokud je index mimo rozsah. |
Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Vytvoří rozdíl sady dvou sekvencí pomocí výchozího porovnávače rovnosti pro porovnání hodnot. |
Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vytvoří rozdíl množiny dvou sekvencí pomocí zadané IEqualityComparer<T> hodnoty pro porovnání hodnot. |
ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>) |
Vytvoří rozdíl množiny dvou sekvencí podle zadané funkce selektoru klíčů. |
ExceptBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Vytvoří rozdíl množiny dvou sekvencí podle zadané funkce selektoru klíčů. |
First<TSource>(IEnumerable<TSource>) |
Vrátí první prvek sekvence. |
First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí první prvek v sekvenci, který splňuje zadanou podmínku. |
FirstOrDefault<TSource>(IEnumerable<TSource>) |
Vrátí první prvek sekvence nebo výchozí hodnotu, pokud sekvence neobsahuje žádné prvky. |
FirstOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Vrátí první prvek sekvence nebo zadanou výchozí hodnotu, pokud sekvence neobsahuje žádné prvky. |
FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí první prvek sekvence, který splňuje podmínku nebo výchozí hodnotu, pokud není nalezen žádný takový prvek. |
FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Vrátí první prvek sekvence, která splňuje podmínku, nebo zadanou výchozí hodnotu, pokud není nalezen žádný takový prvek. |
GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Seskupí prvky sekvence podle zadané funkce selektoru klíčů. |
GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Seskupí prvky sekvence podle zadané funkce selektoru klíčů a porovná klíče pomocí zadaného porovnávače. |
GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
Seskupí prvky sekvence podle zadané funkce selektoru klíčů a pomocí zadané funkce promítne elementy pro každou skupinu. |
GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Seskupí prvky sekvence podle funkce selektoru klíčů. Klíče se porovnávají pomocí porovnávače a prvky každé skupiny se promítají pomocí zadané funkce. |
GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>) |
Seskupí prvky sekvence podle zadané funkce selektoru klíčů a vytvoří výslednou hodnotu z každé skupiny a jejího klíče. |
GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>, IEqualityComparer<TKey>) |
Seskupí prvky sekvence podle zadané funkce selektoru klíčů a vytvoří výslednou hodnotu z každé skupiny a jejího klíče. Klíče se porovnávají pomocí zadaného porovnávače. |
GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>,TResult>) |
Seskupí prvky sekvence podle zadané funkce selektoru klíčů a vytvoří výslednou hodnotu z každé skupiny a jejího klíče. Prvky každé skupiny jsou projektovány pomocí zadané funkce. |
GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>) |
Seskupí prvky sekvence podle zadané funkce selektoru klíčů a vytvoří výslednou hodnotu z každé skupiny a jejího klíče. Hodnoty klíčů se porovnávají pomocí zadaného porovnávače a prvky každé skupiny se promítají pomocí zadané funkce. |
GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>) |
Koreluje prvky dvou sekvencí na základě rovnosti klíčů a seskupuje výsledky. Výchozí porovnávače rovnosti se používá k porovnání klíčů. |
GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>) |
Koreluje prvky dvou sekvencí na základě rovnosti klíčů a seskupuje výsledky. Zadaný parametr IEqualityComparer<T> se používá k porovnání klíčů. |
Index<TSource>(IEnumerable<TSource>) |
Poskytuje možnosti blokování a ohraničování pro kolekce bezpečné pro vlákna, které implementují IProducerConsumerCollection<T>. |
Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Vytvoří průnik sady dvou sekvencí pomocí výchozího porovnávače rovnosti pro porovnání hodnot. |
Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vytvoří množinu průniku dvou sekvencí pomocí zadaného IEqualityComparer<T> pro porovnání hodnot. |
IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>) |
Vytvoří množinu průniku dvou sekvencí podle zadané funkce selektoru klíčů. |
IntersectBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TKey>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Vytvoří množinu průniku dvou sekvencí podle zadané funkce selektoru klíčů. |
Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>) |
Koreluje prvky dvou sekvencí na základě odpovídajících klíčů. Výchozí porovnávače rovnosti se používá k porovnání klíčů. |
Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>) |
Koreluje prvky dvou sekvencí na základě odpovídajících klíčů. Zadaný parametr IEqualityComparer<T> se používá k porovnání klíčů. |
Last<TSource>(IEnumerable<TSource>) |
Vrátí poslední prvek sekvence. |
Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí poslední prvek sekvence, která splňuje zadanou podmínku. |
LastOrDefault<TSource>(IEnumerable<TSource>) |
Vrátí poslední prvek sekvence nebo výchozí hodnotu, pokud sekvence neobsahuje žádné prvky. |
LastOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Vrátí poslední prvek sekvence nebo zadanou výchozí hodnotu, pokud sekvence neobsahuje žádné prvky. |
LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí poslední prvek sekvence, která splňuje podmínku nebo výchozí hodnotu, pokud není nalezen žádný takový prvek. |
LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Vrátí poslední prvek sekvence, která splňuje podmínku, nebo zadanou výchozí hodnotu, pokud není nalezen žádný takový prvek. |
LongCount<TSource>(IEnumerable<TSource>) |
Vrátí hodnotu Int64 , která představuje celkový počet prvků v sekvenci. |
LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí hodnotu Int64 , která představuje, kolik prvků v sekvenci splňuje podmínku. |
Max<TSource>(IEnumerable<TSource>) |
Vrátí maximální hodnotu v obecné sekvenci. |
Max<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Vrátí maximální hodnotu v obecné sekvenci. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální Decimal hodnotu. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální Double hodnotu. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální Int32 hodnotu. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální Int64 hodnotu. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální hodnotu s možnou Decimal hodnotou null. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální hodnotu s možnou Double hodnotou null. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální hodnotu s možnou Int32 hodnotou null. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální hodnotu s možnou Int64 hodnotou null. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální hodnotu s možnou Single hodnotou null. |
Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí maximální Single hodnotu. |
Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Vyvolá transformační funkci na každý prvek obecné sekvence a vrátí maximální výslednou hodnotu. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Vrátí maximální hodnotu v obecné sekvenci podle zadané funkce selektoru klíčů. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Vrátí maximální hodnotu v obecné sekvenci podle zadané funkce selektoru klíčů a porovnávače klíčů. |
Min<TSource>(IEnumerable<TSource>) |
Vrátí minimální hodnotu v obecné sekvenci. |
Min<TSource>(IEnumerable<TSource>, IComparer<TSource>) |
Vrátí minimální hodnotu v obecné sekvenci. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Vyvolá transformační funkci na každý prvek sekvence a vrátí minimální Decimal hodnotu. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Vyvolá transformační funkci na každý prvek sekvence a vrátí minimální Double hodnotu. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Vyvolá transformační funkci na každý prvek sekvence a vrátí minimální Int32 hodnotu. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Vyvolá transformační funkci na každý prvek sekvence a vrátí minimální Int64 hodnotu. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí minimální hodnotu s možnou Decimal hodnotou null. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí minimální hodnotu s možnou Double hodnotou null. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí minimální hodnotu s možnou Int32 hodnotou null. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí minimální hodnotu s možnou Int64 hodnotou null. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Vyvolá transformační funkci pro každý prvek sekvence a vrátí minimální hodnotu s možnou Single hodnotou null. |
Min<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Vyvolá transformační funkci na každý prvek sekvence a vrátí minimální Single hodnotu. |
Min<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Vyvolá transformační funkci pro každý prvek obecné sekvence a vrátí minimální výslednou hodnotu. |
MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Vrátí minimální hodnotu v obecné sekvenci podle zadané funkce selektoru klíčů. |
MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Vrátí minimální hodnotu v obecné sekvenci podle zadané funkce selektoru klíčů a porovnávače klíčů. |
OfType<TResult>(IEnumerable) |
Filtruje prvky objektu IEnumerable na základě zadaného typu. |
Order<T>(IEnumerable<T>) |
Seřadí prvky sekvence ve vzestupném pořadí. |
Order<T>(IEnumerable<T>, IComparer<T>) |
Seřadí prvky sekvence ve vzestupném pořadí. |
OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Seřadí prvky sekvence ve vzestupném pořadí podle klíče. |
OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Seřadí prvky sekvence ve vzestupném pořadí pomocí zadaného porovnávače. |
OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Seřadí prvky sekvence v sestupném pořadí podle klíče. |
OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Seřadí prvky sekvence v sestupném pořadí pomocí zadaného porovnávače. |
OrderDescending<T>(IEnumerable<T>) |
Seřadí prvky sekvence v sestupném pořadí. |
OrderDescending<T>(IEnumerable<T>, IComparer<T>) |
Seřadí prvky sekvence v sestupném pořadí. |
Prepend<TSource>(IEnumerable<TSource>, TSource) |
Přidá hodnotu na začátek sekvence. |
Reverse<TSource>(IEnumerable<TSource>) |
Invertuje pořadí prvků v sekvenci. |
Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Promítá každý prvek sekvence do nového formuláře. |
Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>) |
Projektuje každý prvek sekvence do nové podoby začleněním indexu elementu. |
SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>) |
Promítá každý prvek sekvence do objektu IEnumerable<T> a výsledné sekvence zploštědí do jedné sekvence. |
SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TResult>>) |
Každý prvek sekvence se promítá do objektu IEnumerable<T>a výsledné sekvence zploštědí do jedné sekvence. Index každého zdrojového prvku se používá v projektované podobě tohoto elementu. |
SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>) |
Promítne každý prvek sekvence na IEnumerable<T>, zploštědí výsledné sekvence do jedné sekvence a vyvolá funkci selektoru výsledků pro každý prvek v této sekvenci. |
SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>) |
Promítne každý prvek sekvence na IEnumerable<T>, zploštědí výsledné sekvence do jedné sekvence a vyvolá funkci selektoru výsledků pro každý prvek v této sekvenci. Index každého zdrojového prvku se používá v přechodné projektované podobě tohoto prvku. |
SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Určuje, zda jsou dvě sekvence rovny porovnáním prvků pomocí výchozího porovnávače rovnosti pro jejich typ. |
SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Určuje, zda jsou dvě sekvence rovny porovnáním jejich prvků pomocí zadaného IEqualityComparer<T>objektu . |
Single<TSource>(IEnumerable<TSource>) |
Vrátí jediný prvek sekvence a vyvolá výjimku, pokud v sekvenci není právě jeden prvek. |
Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí jediný prvek sekvence, který splňuje zadanou podmínku, a vyvolá výjimku, pokud existuje více než jeden takový prvek. |
SingleOrDefault<TSource>(IEnumerable<TSource>) |
Vrátí jediný prvek sekvence, nebo výchozí hodnotu, pokud je sekvence prázdná; tato metoda vyvolá výjimku, pokud je v sekvenci více než jeden prvek. |
SingleOrDefault<TSource>(IEnumerable<TSource>, TSource) |
Vrátí jediný prvek sekvence nebo zadanou výchozí hodnotu, pokud je posloupnost prázdná; tato metoda vyvolá výjimku, pokud je v sekvenci více než jeden prvek. |
SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí jediný prvek sekvence, který splňuje zadanou podmínku nebo výchozí hodnotu, pokud žádný takový prvek neexistuje; tato metoda vyvolá výjimku, pokud více než jeden prvek splňuje podmínku. |
SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>, TSource) |
Vrátí jediný prvek sekvence, který splňuje zadanou podmínku, nebo zadanou výchozí hodnotu, pokud žádný takový prvek neexistuje; tato metoda vyvolá výjimku, pokud více než jeden prvek splňuje podmínku. |
Skip<TSource>(IEnumerable<TSource>, Int32) |
Obchází zadaný počet prvků v sekvenci a vrátí zbývající prvky. |
SkipLast<TSource>(IEnumerable<TSource>, Int32) |
Vrátí novou výčtovou kolekci, která obsahuje elementy z |
SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Obchází prvky v sekvenci, pokud je zadaná podmínka pravdivá, a pak vrátí zbývající prvky. |
SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Obchází prvky v sekvenci, pokud je zadaná podmínka pravdivá, a pak vrátí zbývající prvky. Index elementu se používá v logice predikátové funkce. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Vypočítá součet posloupnosti Decimal hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Vypočítá součet posloupnosti Double hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Vypočítá součet posloupnosti Int32 hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Vypočítá součet posloupnosti Int64 hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Vypočítá součet posloupnosti hodnot s možnou Decimal hodnotou null, které jsou získány vyvoláním transformační funkce pro každý prvek vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Vypočítá součet posloupnosti hodnot s možnou Double hodnotou null, které jsou získány vyvoláním transformační funkce pro každý prvek vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Vypočítá součet posloupnosti hodnot s možnou Int32 hodnotou null, které jsou získány vyvoláním transformační funkce pro každý prvek vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Vypočítá součet posloupnosti hodnot s možnou Int64 hodnotou null, které jsou získány vyvoláním transformační funkce pro každý prvek vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Vypočítá součet posloupnosti hodnot s možnou Single hodnotou null, které jsou získány vyvoláním transformační funkce pro každý prvek vstupní sekvence. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Vypočítá součet posloupnosti Single hodnot, které jsou získány vyvoláním transformační funkce u každého prvku vstupní sekvence. |
Take<TSource>(IEnumerable<TSource>, Int32) |
Vrátí zadaný počet souvislých prvků od začátku sekvence. |
Take<TSource>(IEnumerable<TSource>, Range) |
Vrátí zadanou oblast souvislých prvků ze sekvence. |
TakeLast<TSource>(IEnumerable<TSource>, Int32) |
Vrátí novou výčtovou kolekci, která obsahuje poslední |
TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Vrátí prvky ze sekvence, pokud je zadaná podmínka pravdivá. |
TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Vrátí prvky ze sekvence, pokud je zadaná podmínka pravdivá. Index elementu se používá v logice predikátové funkce. |
ToArray<TSource>(IEnumerable<TSource>) |
Vytvoří pole z objektu IEnumerable<T>. |
ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Dictionary<TKey,TValue> Vytvoří z objektu IEnumerable<T> podle zadané funkce selektoru klíčů. |
ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Dictionary<TKey,TValue> Vytvoří z objektu IEnumerable<T> podle zadané funkce selektoru klíčů a porovnávače klíčů. |
ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
Dictionary<TKey,TValue> Vytvoří z objektu IEnumerable<T> podle zadaného selektoru klíčů a funkcí selektoru prvků. |
ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Dictionary<TKey,TValue> Vytvoří z objektu IEnumerable<T> podle zadané funkce selektoru klíčů, porovnávače a funkce selektoru prvků. |
ToHashSet<TSource>(IEnumerable<TSource>) |
Vytvoří z HashSet<T> objektu IEnumerable<T>. |
ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>) |
HashSet<T> Vytvoří z objektu IEnumerable<T> pomocí |
ToList<TSource>(IEnumerable<TSource>) |
Vytvoří z List<T> objektu IEnumerable<T>. |
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Lookup<TKey,TElement> Vytvoří z objektu IEnumerable<T> podle zadané funkce selektoru klíčů. |
ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Lookup<TKey,TElement> Vytvoří z objektu IEnumerable<T> podle zadané funkce selektoru klíčů a porovnávače klíčů. |
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>) |
Lookup<TKey,TElement> Vytvoří z objektu IEnumerable<T> podle zadaného selektoru klíčů a funkcí selektoru prvků. |
ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>) |
Lookup<TKey,TElement> Vytvoří z objektu IEnumerable<T> podle zadané funkce selektoru klíčů, porovnávače a funkce selektoru prvků. |
TryGetNonEnumeratedCount<TSource>(IEnumerable<TSource>, Int32) |
Pokusí se určit počet prvků v sekvenci bez vynucení výčtu. |
Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) |
Vytvoří sadu sjednocení dvou sekvencí pomocí výchozího porovnávače rovnosti. |
Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>) |
Vytvoří sjednocení sady dvou sekvencí pomocí zadané IEqualityComparer<T>. |
UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>) |
Vytvoří sjednocení sady dvou sekvencí podle zadané funkce selektoru klíčů. |
UnionBy<TSource,TKey>(IEnumerable<TSource>, IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>) |
Vytvoří sjednocení sady dvou sekvencí podle zadané funkce selektoru klíčů. |
Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Filtruje posloupnost hodnot na základě predikátu. |
Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Filtruje posloupnost hodnot na základě predikátu. Index každého prvku se používá v logice predikátové funkce. |
Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>) |
Vytvoří posloupnost řazených kolekcí členů s prvky ze dvou zadaných sekvencí. |
Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Vytvoří sekvenci řazených kolekcí členů s prvky ze tří zadaných sekvencí. |
Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>) |
Použije zadanou funkci na odpovídající prvky dvou sekvencí a vytvoří sekvenci výsledků. |
AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
AsParallel<TSource>(IEnumerable<TSource>) |
Umožňuje paralelizaci dotazu. |
AsQueryable(IEnumerable) |
Převede objekt na IEnumerableIQueryable. |
AsQueryable<TElement>(IEnumerable<TElement>) |
Převede obecný IEnumerable<T> na obecný IQueryable<T>. |
Ancestors<T>(IEnumerable<T>) |
Vrátí kolekci prvků, která obsahuje nadřazené součásti všech uzlů ve zdrojové kolekci. |
Ancestors<T>(IEnumerable<T>, XName) |
Vrátí filtrovanou kolekci prvků, která obsahuje nadřazené součásti všech uzlů ve zdrojové kolekci. V kolekci jsou zahrnuty pouze prvky, které mají odpovídající XName hodnoty. |
DescendantNodes<T>(IEnumerable<T>) |
Vrátí kolekci následnických uzlů každého dokumentu a elementu ve zdrojové kolekci. |
Descendants<T>(IEnumerable<T>) |
Vrátí kolekci prvků, která obsahuje následné prvky každého prvku a dokumentu ve zdrojové kolekci. |
Descendants<T>(IEnumerable<T>, XName) |
Vrátí filtrovanou kolekci prvků, která obsahuje následné prvky každého prvku a dokumentu ve zdrojové kolekci. V kolekci jsou zahrnuty pouze prvky, které mají odpovídající XName hodnoty. |
Elements<T>(IEnumerable<T>) |
Vrátí kolekci podřízených prvků každého prvku a dokumentu ve zdrojové kolekci. |
Elements<T>(IEnumerable<T>, XName) |
Vrátí filtrovanou kolekci podřízených prvků každého prvku a dokumentu ve zdrojové kolekci. V kolekci jsou zahrnuty pouze prvky, které mají odpovídající XName hodnoty. |
InDocumentOrder<T>(IEnumerable<T>) |
Vrátí kolekci uzlů, která obsahuje všechny uzly ve zdrojové kolekci seřazené podle pořadí dokumentů. |
Nodes<T>(IEnumerable<T>) |
Vrátí kolekci podřízených uzlů každého dokumentu a elementu ve zdrojové kolekci. |
Remove<T>(IEnumerable<T>) |
Odebere všechny uzly ve zdrojové kolekci z nadřazeného uzlu. |
Platí pro
Bezpečný přístup z více vláken
Metoda Dispose není bezpečná pro přístup z více vláken. Všechny ostatní veřejné a chráněné členy BlockingCollection<T> jsou bezpečné z více vláken a mohou být používány souběžně z více vláken.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro