BlockingCollection<T>.TryTakeFromAny Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.
Surcharges
TryTakeFromAny(BlockingCollection<T>[], T) |
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées. |
TryTakeFromAny(BlockingCollection<T>[], T, Int32) |
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées. |
TryTakeFromAny(BlockingCollection<T>[], T, Int32, CancellationToken) |
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées. |
TryTakeFromAny(BlockingCollection<T>[], T, TimeSpan) |
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées. |
TryTakeFromAny(BlockingCollection<T>[], T)
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.
public:
static int TryTakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item);
static member TryTakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T -> int
Public Shared Function TryTakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T) As Integer
Paramètres
- collections
- BlockingCollection<T>[]
Tableau de collections.
- item
- T
Élément qui a été supprimé de l’une des collections.
Retours
Index de la collection dans le tableau collections
dont l’élément a été supprimé, ou -1 si un élément n’a pas pu être supprimé.
Exceptions
Au moins, l'une des instances BlockingCollection<T> a été supprimée.
L’argument collections
a la valeur null.
Le compte de collections
est supérieur à la taille maximale de 62 pour STA et 63 pour le MTA.
L'argument collections
est un tableau de longueur 0 ou contient un élément null.
Au moins, l'une des collections sous-jacentes a été modifiée en dehors de son instance BlockingCollection<T>.
Exemples
L’exemple suivant montre comment utiliser la BlockingCollection<T>.TryTakeFromAny méthode :
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);
}
}
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)"
'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
Remarques
Un appel à TryTakeFromAny peut se bloquer jusqu’à ce qu’un élément soit disponible pour être supprimé.
Voir aussi
S’applique à
TryTakeFromAny(BlockingCollection<T>[], T, Int32)
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.
public:
static int TryTakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item, int millisecondsTimeout);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item, int millisecondsTimeout);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item, int millisecondsTimeout);
static member TryTakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T * int -> int
Public Shared Function TryTakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T, millisecondsTimeout As Integer) As Integer
Paramètres
- collections
- BlockingCollection<T>[]
Tableau de collections dont un élément doit être supprimé.
- item
- T
Élément qui a été supprimé de l’une des collections.
- millisecondsTimeout
- Int32
Nombre de millisecondes à attendre pour que l’élément soit supprimé, ou Infinite (-1) pour attendre indéfiniment.
Retours
Index de la collection dans le tableau collections
dont l’élément a été supprimé, ou -1 si un élément n’a pas pu être supprimé.
Exceptions
Au moins, l'une des instances BlockingCollection<T> a été supprimée.
L’argument collections
a la valeur null.
millisecondsTimeout
est un nombre négatif différent de -1, qui représente un délai d’attente infini.
- ou -
Le compte de collections
est supérieur à la taille maximale de 62 pour STA et 63 pour le MTA.
L'argument collections
est un tableau de longueur 0 ou contient un élément null.
Au moins, l'une des collections sous-jacentes a été modifiée en dehors de son instance BlockingCollection<T>.
Remarques
Un appel à TryTakeFromAny peut se bloquer jusqu’à ce qu’un élément soit disponible pour être supprimé.
Voir aussi
S’applique à
TryTakeFromAny(BlockingCollection<T>[], T, Int32, CancellationToken)
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.
public:
static int TryTakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item, int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item, int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item, int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
static member TryTakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T * int * System.Threading.CancellationToken -> int
Public Shared Function TryTakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T, millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Integer
Paramètres
- collections
- BlockingCollection<T>[]
Tableau de collections dont un élément doit être supprimé.
- item
- T
Élément qui a été supprimé de l’une des collections.
- millisecondsTimeout
- Int32
Nombre de millisecondes à attendre pour que l’élément soit supprimé, ou Infinite (-1) pour attendre indéfiniment.
- cancellationToken
- CancellationToken
Jeton d'annulation à observer.
Retours
Index de la collection dans le tableau collections
dont l’élément a été supprimé, ou -1 si un élément n’a pas pu être supprimé.
Exceptions
CancellationToken est annulé.
Au moins, l'une des collections sous-jacentes a été modifiée en dehors de son instance BlockingCollection<T>.
L’argument collections
a la valeur null.
millisecondsTimeout
est un nombre négatif différent de -1, qui représente un délai d’attente infini.
- ou -
Le compte de collections
est supérieur à la taille maximale de 62 pour STA et 63 pour le MTA.
L'argument collections
est un tableau de longueur 0 ou contient un élément null.
Au moins, l'une des instances BlockingCollection<T> a été supprimée.
Remarques
Un appel à TryTakeFromAny peut se bloquer jusqu’à ce qu’un élément soit disponible pour être supprimé.
Voir aussi
S’applique à
TryTakeFromAny(BlockingCollection<T>[], T, TimeSpan)
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
Tente de supprimer un élément de l'une des instances de BlockingCollection<T> spécifiées.
public:
static int TryTakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item, TimeSpan timeout);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item, TimeSpan timeout);
public static int TryTakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item, TimeSpan timeout);
static member TryTakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T * TimeSpan -> int
Public Shared Function TryTakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T, timeout As TimeSpan) As Integer
Paramètres
- collections
- BlockingCollection<T>[]
Tableau de collections.
- item
- T
Élément qui a été supprimé de l’une des collections.
- timeout
- TimeSpan
TimeSpan qui représente le nombre de millièmes de secondes à attendre ou TimeSpan qui représente -1 millième de seconde, pour attendre indéfiniment.
Retours
Index de la collection dans le tableau collections
dont l’élément a été supprimé, ou -1 si un élément n’a pas pu être supprimé.
Exceptions
Au moins, l'une des instances BlockingCollection<T> a été supprimée.
L’argument collections
a la valeur null.
timeout
est un nombre négatif autre que -1 millisecondes, qui représente un délai d’attente infini
-ou-
timeout
est supérieur à Int32.MaxValue.
- ou -
Le compte de collections
est supérieur à la taille maximale de 62 pour STA et 63 pour le MTA.
L'argument collections
est un tableau de longueur 0 ou contient un élément null.
Au moins, l'une des collections sous-jacentes a été modifiée en dehors de son instance BlockingCollection<T>.
Remarques
Un appel à TryTakeFromAny peut se bloquer jusqu’à ce qu’un élément soit disponible pour être supprimé.