2185 {
2187 {
2189 }
2191 unsafe
static bool TryFormatUInt64Slow(ulong
value, ReadOnlySpan<char>
format, IFormatProvider provider, Span<char>
destination, out
int charsWritten)
2192 {
2193 int digits;
2195 char c2 = (char)(c & 0xFFDFu);
2196 if ((c2 == 'G') ? (digits < 1) : (c2 == 'D'))
2197 {
2199 }
2200 if (c2 == 'X')
2201 {
2203 }
2205 byte* digits2 = stackalloc byte[21];
2206 NumberBuffer number = new NumberBuffer(NumberBufferKind.Integer, digits2, 21);
2208 char*
pointer = stackalloc
char[32];
2210 if (c != 0)
2211 {
2213 }
2214 else
2215 {
2217 }
2219 }
2220 }
static unsafe void UInt64ToNumber(ulong value, ref NumberBuffer number)
static unsafe bool TryInt64ToHexStr(long value, char hexBase, int digits, Span< char > destination, out int charsWritten)
static char ParseFormatSpecifier(ReadOnlySpan< char > format, out int digits)
static unsafe void NumberToStringFormat(ref ValueStringBuilder sb, ref NumberBuffer number, ReadOnlySpan< char > format, NumberFormatInfo info)
static unsafe bool TryUInt64ToDecStr(ulong value, int digits, Span< char > destination, out int charsWritten)
static char GetHexBase(char fmt)
static void NumberToString(ref ValueStringBuilder sb, ref NumberBuffer number, char format, int nMaxDigits, NumberFormatInfo info)
bool TryCopyTo(Span< char > destination, out int charsWritten)