BlockingCollection<T>.TakeFromAny 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从任一指定的 BlockingCollection<T> 实例中获取一个项。
重载
TakeFromAny(BlockingCollection<T>[], T) |
从任一指定的 BlockingCollection<T> 实例中获取一个项。 |
TakeFromAny(BlockingCollection<T>[], T, CancellationToken) |
在观察指定的取消标记时从任一指定的 BlockingCollection<T> 实例中获取一个项。 |
TakeFromAny(BlockingCollection<T>[], T)
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
从任一指定的 BlockingCollection<T> 实例中获取一个项。
public:
static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T) As Integer
参数
- collections
- BlockingCollection<T>[]
集合的数组。
- item
- T
从其中一个集合中删除的项。
返回
从其中移除项的集合在 collections
数组中的索引。
例外
至少已释放其中一个 BlockingCollection<T> 实例。
collections
参数为 null。
collections
的计数大于上限(STA 为 62,MTA 为 63)。
collections
参数是一个长度为 0 的数组,或包含 NULL 元素,或 CompleteAdding() 在集合上已被调用。
至少一个基础集合已在其 BlockingCollection<T> 实例之外进行了修改。
注解
对 TakeFromAny 的调用可能会阻止,直到项目可供删除。
另请参阅
适用于
TakeFromAny(BlockingCollection<T>[], T, CancellationToken)
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
- Source:
- BlockingCollection.cs
在观察指定的取消标记时从任一指定的 BlockingCollection<T> 实例中获取一个项。
public:
static int TakeFromAny(cli::array <System::Collections::Concurrent::BlockingCollection<T> ^> ^ collections, [Runtime::InteropServices::Out] T % item, System::Threading::CancellationToken cancellationToken);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T item, System.Threading.CancellationToken cancellationToken);
public static int TakeFromAny (System.Collections.Concurrent.BlockingCollection<T>[] collections, out T? item, System.Threading.CancellationToken cancellationToken);
static member TakeFromAny : System.Collections.Concurrent.BlockingCollection<'T>[] * 'T * System.Threading.CancellationToken -> int
Public Shared Function TakeFromAny (collections As BlockingCollection(Of T)(), ByRef item As T, cancellationToken As CancellationToken) As Integer
参数
- collections
- BlockingCollection<T>[]
集合的数组。
- item
- T
从其中一个集合中删除的项。
- cancellationToken
- CancellationToken
要观察的取消标记。
返回
从其中移除项的集合在 collections
数组中的索引。
例外
至少一个基础集合已在其 BlockingCollection<T> 实例之外进行了修改。
collections
参数为 null。
collections
的计数大于上限(STA 为 62,MTA 为 63)。
collections
参数是一个长度为 0 的数组,或包含 NULL 元素,或 CompleteAdding() 在集合上已被调用。
至少已释放其中一个 BlockingCollection<T> 实例。
注解
对 TakeFromAny 的调用可能会阻止,直到项目可供删除。 如果取消令牌,该方法将提前返回 OperationCanceledException。