private static unsafe bool TryReadInt(UnsafeReader reader, out int step) { if (!reader.IsEmpty) { var a = reader.Current; if (a >= '0' && a <= '9') { reader.MoveNext(); step = a - '0'; if (!reader.IsEmpty) { var b = reader.Current; if (b >= '0' && b <= '9') { reader.MoveNext(); step = (step * 10) + (b - '0'); } } return(true); } } step = 0; return(false); }