private static object ParseNumber(char[] json, ref int index, ref bool success) { SimpleJsonTool.EatWhitespace(json, ref index); int lastIndexOfNumber = SimpleJsonTool.GetLastIndexOfNumber(json, index); int length = lastIndexOfNumber - index + 1; string text = new string(json, index, length); object result; if (text.IndexOf(".", StringComparison.OrdinalIgnoreCase) != -1 || text.IndexOf("e", StringComparison.OrdinalIgnoreCase) != -1) { double num; success = double.TryParse(new string(json, index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num); result = num; } else { long num2; success = long.TryParse(new string(json, index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num2); result = num2; } index = lastIndexOfNumber + 1; return(result); }