<PackageReference Include="Newtonsoft.Json" Version="8.0.1" />

StringReferenceExtensions

using System; namespace Newtonsoft.Json.Utilities { internal static class StringReferenceExtensions { public static int IndexOf(this StringReference s, char c, int startIndex, int length) { int num = Array.IndexOf(s.Chars, c, s.StartIndex + startIndex, length); if (num == -1) return -1; return num - s.StartIndex; } public static bool StartsWith(this StringReference s, string text) { if (text.Length > s.Length) return false; char[] chars = s.Chars; for (int i = 0; i < text.Length; i++) { if (text[i] != chars[i + s.StartIndex]) return false; } return true; } public static bool EndsWith(this StringReference s, string text) { if (text.Length > s.Length) return false; char[] chars = s.Chars; int num = s.StartIndex + s.Length - text.Length; for (int i = 0; i < text.Length; i++) { if (text[i] != chars[i + num]) return false; } return true; } } }