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

◆ Get() [1/2]

override? string System.Xml.NameTable.Get ( char[] key,
int start,
int len )
inline

Definition at line 100 of file NameTable.cs.

101 {
102 if (len == 0)
103 {
104 return string.Empty;
105 }
106 if (start >= key.Length || start < 0 || (long)start + (long)len > key.Length)
107 {
108 throw new IndexOutOfRangeException();
109 }
110 if (len < 0)
111 {
112 return null;
113 }
114 int hashCode = string.GetHashCode(key.AsSpan(start, len));
115 for (Entry entry = _entries[hashCode & _mask]; entry != null; entry = entry.next)
116 {
117 if (entry.hashCode == hashCode && entry.str.AsSpan().SequenceEqual(key.AsSpan(start, len)))
118 {
119 return entry.str;
120 }
121 }
122 return null;
123 }

References System.Xml.NameTable._entries, System.Xml.NameTable._mask, System.Xml.Dictionary, System.key, System.len, System.Xml.NameTable.Entry.next, and System.start.