Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo BlockingCollection<T>.TryTake (T, Int32, CancellationToken)

.NET Framework (current version)
 

Data di pubblicazione: ottobre 2016

Prova a rimuovere un elemento da BlockingCollection<T> nel periodo di tempo specificato, considerando un token di annullamento.

Spazio dei nomi:   System.Collections.Concurrent
Assembly:  System (in System.dll)

public bool TryTake(
	out T item,
	int millisecondsTimeout,
	CancellationToken cancellationToken
)

Parametri

item
Type: T

Elemento da rimuovere dalla raccolta.

millisecondsTimeout
Type: System.Int32

Numero di millisecondi di attesa oppure Infinite (-1) per un'attesa indefinita.

cancellationToken
Type: System.Threading.CancellationToken

Token di annullamento da osservare.

Valore restituito

Type: System.Boolean

true se è stato possibile rimuovere un elemento dalla raccolta entro il tempo specificato. In caso contrario, false.

Exception Condition
OperationCanceledException

CancellationToken è stato annullato.

ObjectDisposedException

BlockingCollection<T> è stato eliminato o l'oggetto CancellationTokenSource sottostante è stato eliminato.

ArgumentOutOfRangeException

millisecondsTimeout è un numero negativo diverso da -1, che rappresenta un timeout infinito.

InvalidOperationException

La raccolta sottostante è stata modificata all'esterno dell'istanza BlockingCollection<T>.

L'ordine in cui un elemento viene rimosso dipende dal tipo di raccolta utilizzato per creare l'istanza di BlockingCollection<T>. Quando si crea un oggetto BlockingCollection<T>, è possibile specificare il tipo di raccolta da utilizzare. Ad esempio, è possibile specificare un oggetto ConcurrentQueue<T> per il comportamento FIFO (First In, First Out) o un oggetto ConcurrentStack<T> per il comportamento LIFO (Last In, First Out). È possibile utilizzare qualsiasi classe di raccolta che implementa il IProducerConsumerCollection<T> interfaccia. Il tipo di raccolta predefinito per BlockingCollection<T> è ConcurrentQueue<T>.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: