8[DebuggerDisplay(
"Count = {Count}")]
42 bool ICollection.IsSynchronized =>
false;
44 object ICollection.SyncRoot
165 int num = items.Length;
265 for (i = 1; i <
count; i++)
267 if (
node._next ==
null)
277 for (
int j = 0;
j < num;
j++)
311 return ToList(head).ToArray();
313 return Array.Empty<T>();
339 for (
Node current = head; current !=
null; current = current.
_next)
341 yield return current._value;
static CDSCollectionETWBCLProvider Log
int TryPopRange(T[] items, int startIndex, int count)
IEnumerator< T > GetEnumerator(Node head)
void PushRange(T[] items)
bool TryPop([MaybeNullWhen(false)] out T result)
bool TryPeek([MaybeNullWhen(false)] out T result)
void InitializeFromCollection(IEnumerable< T > collection)
void PushCore(Node head, Node tail)
bool TryPopCore([MaybeNullWhen(false)] out T result)
List< T > ToList(Node curr)
void CopyTo(T[] array, int index)
int TryPopCore(int count, out Node poppedHead)
int TryPopRange(T[] items)
void PushRange(T[] items, int startIndex, int count)
ConcurrentStack(IEnumerable< T > collection)
static void CopyRemovedItems(Node head, T[] collection, int startIndex, int nodesCount)
void ICollection. CopyTo(Array array, int index)
IEnumerator< T > GetEnumerator()
static void ValidatePushPopRangeInput(T[] items, int startIndex, int count)
bool TryAdd(TKey key, TValue value)
static string ConcurrentCollection_SyncRoot_NotSupported
static string ConcurrentStack_PushPopRange_CountOutOfRange
static string ConcurrentStack_PushPopRange_StartOutOfRange
static string ConcurrentStack_PushPopRange_InvalidCount
static int CompareExchange(ref int location1, int value, int comparand)
void CopyTo(Array array, int index)
IEnumerator GetEnumerator()