ConcurrentStack<T>.TryPopRange Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
TryPopRange(T[], Int32, Int32) |
Пытается извлечь и вернуть несколько объектов из начала ConcurrentStack<T> в виде неделимого блока. |
TryPopRange(T[]) |
Пытается извлечь и вернуть несколько объектов из начала ConcurrentStack<T> в виде неделимого блока. |
TryPopRange(T[], Int32, Int32)
- Исходный код:
- ConcurrentStack.cs
- Исходный код:
- ConcurrentStack.cs
- Исходный код:
- ConcurrentStack.cs
Пытается извлечь и вернуть несколько объектов из начала ConcurrentStack<T> в виде неделимого блока.
public:
int TryPopRange(cli::array <T> ^ items, int startIndex, int count);
public int TryPopRange (T[] items, int startIndex, int count);
member this.TryPopRange : 'T[] * int * int -> int
Public Function TryPopRange (items As T(), startIndex As Integer, count As Integer) As Integer
Параметры
- items
- T[]
Массив Array, в который будут добавлены объекты, извлеченные из начала ConcurrentStack<T>.
- startIndex
- Int32
Отсчитываемое от нуля смещение в массиве items
, с которого начинается вставка элементов из начала ConcurrentStack<T>.
- count
- Int32
Число элементов, извлекаемых из начала ConcurrentStack<T> и вставляемых в массив items
.
Возвращаемое значение
Число объектов, успешно извлеченных из верхней части стека и вставленных в items
.
Исключения
Параметр items
является ссылкой на null (Nothing в Visual Basic).
startIndex
или count
является отрицательным значением. Или значение параметра startIndex
больше или равно длине items
.
Значение startIndex
+ count
превышает длину items
.
Комментарии
При перемещении нескольких элементов, если в стеке мало состязаний, использование TryPopRange может быть более эффективным, чем использование TryPop одного элемента для удаления. Узлы заполняют items
массив первым элементом, который будет выскочен в startIndex, второй элемент, который будет выброщен в startIndex + 1, и т. д.
См. также раздел
Применяется к
TryPopRange(T[])
- Исходный код:
- ConcurrentStack.cs
- Исходный код:
- ConcurrentStack.cs
- Исходный код:
- ConcurrentStack.cs
Пытается извлечь и вернуть несколько объектов из начала ConcurrentStack<T> в виде неделимого блока.
public:
int TryPopRange(cli::array <T> ^ items);
public int TryPopRange (T[] items);
member this.TryPopRange : 'T[] -> int
Public Function TryPopRange (items As T()) As Integer
Параметры
- items
- T[]
Массив Array, в который будут добавлены объекты, извлеченные из начала ConcurrentStack<T>.
Возвращаемое значение
Число объектов, успешно извлеченных из начала ConcurrentStack<T> и вставленных в массив items
.
Исключения
items
— это аргумент null (Nothing в Visual Basic).
Комментарии
При перемещении нескольких элементов, если в стеке мало состязаний, использование TryPopRange
может быть более эффективным, чем один TryPop раз для каждого элемента, который требуется удалить. Узлы заполняют items
массив первым элементом, который будет выскочен в startIndex, второй элемент, который будет выброщен в startIndex + 1, и т. д.
Пример кода см. в разделе ConcurrentStack<T>.