Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SingleLinkedNode.cs
Go to the documentation of this file.
1namespace System.Linq;
2
3internal sealed class SingleLinkedNode<TSource>
4{
5 public TSource Item { get; }
6
8
9 public SingleLinkedNode(TSource item)
10 {
11 Item = item;
12 }
13
15 {
16 Linked = linked;
17 Item = item;
18 }
19
21 {
22 return new SingleLinkedNode<TSource>(this, item);
23 }
24
26 {
27 SingleLinkedNode<TSource> singleLinkedNode = this;
28 while (index > 0)
29 {
30 singleLinkedNode = singleLinkedNode.Linked;
31 index--;
32 }
33 return singleLinkedNode;
34 }
35
36 public TSource[] ToArray(int count)
37 {
38 TSource[] array = new TSource[count];
39 int num = count;
40 for (SingleLinkedNode<TSource> singleLinkedNode = this; singleLinkedNode != null; singleLinkedNode = singleLinkedNode.Linked)
41 {
42 num--;
43 array[num] = singleLinkedNode.Item;
44 }
45 return array;
46 }
47}
SingleLinkedNode< TSource > Linked
SingleLinkedNode< TSource > Add(TSource item)
SingleLinkedNode(SingleLinkedNode< TSource > linked, TSource item)
SingleLinkedNode< TSource > GetNode(int index)
TSource[] ToArray(int count)