|
|
|
@ -7,19 +7,17 @@ namespace Avalonia.Utilities |
|
|
|
public static class SpanHelpers |
|
|
|
{ |
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
|
|
public static bool TryParseFromHexToUInt(this ReadOnlySpan<char> span, out uint value) |
|
|
|
public static bool TryParseUInt(this ReadOnlySpan<char> span, NumberStyles style, IFormatProvider provider, out uint value) |
|
|
|
{ |
|
|
|
#if NETSTANDARD2_0
|
|
|
|
return uint.TryParse(span.ToString(), NumberStyles.HexNumber, CultureInfo.InvariantCulture, |
|
|
|
out value); |
|
|
|
return uint.TryParse(span.ToString(), style, provider, out value); |
|
|
|
#else
|
|
|
|
return uint.TryParse(span, NumberStyles.HexNumber, CultureInfo.InvariantCulture, |
|
|
|
out value); |
|
|
|
return uint.TryParse(span, style, provider, out value); |
|
|
|
#endif
|
|
|
|
} |
|
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
|
|
public static bool TryParseToInt(this ReadOnlySpan<char> span, out int value) |
|
|
|
public static bool TryParseInt(this ReadOnlySpan<char> span, out int value) |
|
|
|
{ |
|
|
|
#if NETSTANDARD2_0
|
|
|
|
return int.TryParse(span.ToString(), out value); |
|
|
|
@ -29,26 +27,22 @@ namespace Avalonia.Utilities |
|
|
|
} |
|
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
|
|
public static bool TryParseNumberToDouble(this ReadOnlySpan<char> span, out double value) |
|
|
|
public static bool TryParseDouble(this ReadOnlySpan<char> span, NumberStyles style, IFormatProvider provider, out double value) |
|
|
|
{ |
|
|
|
#if NETSTANDARD2_0
|
|
|
|
return double.TryParse(span.ToString(), NumberStyles.Number, CultureInfo.InvariantCulture, |
|
|
|
out value); |
|
|
|
return double.TryParse(span.ToString(), style, provider, out value); |
|
|
|
#else
|
|
|
|
return double.TryParse(span, NumberStyles.Number, CultureInfo.InvariantCulture, |
|
|
|
out value); |
|
|
|
return double.TryParse(span, style, provider, out value); |
|
|
|
#endif
|
|
|
|
} |
|
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
|
|
public static bool TryParseNumberToByte(this ReadOnlySpan<char> span, out byte value) |
|
|
|
public static bool TryParseByte(this ReadOnlySpan<char> span, NumberStyles style, IFormatProvider provider, out byte value) |
|
|
|
{ |
|
|
|
#if NETSTANDARD2_0
|
|
|
|
return byte.TryParse(span.ToString(), NumberStyles.Number, CultureInfo.InvariantCulture, |
|
|
|
out value); |
|
|
|
return byte.TryParse(span.ToString(), style, provider, out value); |
|
|
|
#else
|
|
|
|
return byte.TryParse(span, NumberStyles.Number, CultureInfo.InvariantCulture, |
|
|
|
out value); |
|
|
|
return byte.TryParse(span, style, provider, out value); |
|
|
|
#endif
|
|
|
|
} |
|
|
|
} |
|
|
|
|