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

◆ LastIndexOf() [2/3]

static int System.SpanHelpers.LastIndexOf ( ref byte searchSpace,
int searchSpaceLength,
ref byte value,
int valueLength )
inlinestatic

Definition at line 363 of file SpanHelpers.cs.

364 {
365 if (valueLength == 0)
366 {
367 return searchSpaceLength;
368 }
369 byte value2 = value;
370 ref byte second = ref Unsafe.Add(ref value, 1);
371 int num = valueLength - 1;
372 int num2 = 0;
373 while (true)
374 {
375 int num3 = searchSpaceLength - num2 - num;
376 if (num3 <= 0)
377 {
378 break;
379 }
381 if (num4 == -1)
382 {
383 break;
384 }
385 if (SequenceEqual(ref Unsafe.Add(ref searchSpace, num4 + 1), ref second, (uint)num))
386 {
387 return num4;
388 }
389 num2 += num3 - num4;
390 }
391 return -1;
392 }
static unsafe bool SequenceEqual(ref byte first, ref byte second, nuint length)
static int LastIndexOf(ref byte searchSpace, int searchSpaceLength, ref byte value, int valueLength)

References System.SpanHelpers.LastIndexOf(), System.SpanHelpers.SequenceEqual(), and System.value.

Referenced by System.String.LastIndexOf(), System.String.LastIndexOf(), System.SpanHelpers.LastIndexOf(), System.MemoryExtensions.LastIndexOf(), System.SpanHelpers.LastIndexOf< T >(), System.Array.LastIndexOf< T >(), System.MemoryExtensions.LastIndexOf< T >(), System.MemoryExtensions.LastIndexOf< T >(), System.MemoryExtensions.LastIndexOf< T >(), and System.MemoryExtensions.LastIndexOf< T >().