Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TryGetElementFromEnd< TSource >()

static bool System.Linq.Enumerable.TryGetElementFromEnd< TSource > ( IEnumerable< TSource > source,
int indexFromEnd,
[MaybeNullWhen(false)] out TSource element )
inlinestaticprivate

Definition at line 4724 of file Enumerable.cs.

4725 {
4726 if (indexFromEnd > 0)
4727 {
4728 using IEnumerator<TSource> enumerator = source.GetEnumerator();
4729 if (enumerator.MoveNext())
4730 {
4732 queue.Enqueue(enumerator.Current);
4733 while (enumerator.MoveNext())
4734 {
4735 if (queue.Count == indexFromEnd)
4736 {
4737 queue.Dequeue();
4738 }
4739 queue.Enqueue(enumerator.Current);
4740 }
4741 if (queue.Count == indexFromEnd)
4742 {
4743 element = queue.Dequeue();
4744 return true;
4745 }
4746 }
4747 }
4748 element = default(TSource);
4749 return false;
4750 }

References System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Collections.Generic.Dictionary< TKey, TValue >.GetEnumerator(), and System.Linq.source.

Referenced by System.Linq.Enumerable.ElementAtOrDefault< TSource >().