committed by
GitHub
8 changed files with 178 additions and 77 deletions
@ -0,0 +1,49 @@ |
|||
using System; |
|||
using System.Globalization; |
|||
using System.Runtime.CompilerServices; |
|||
|
|||
namespace Avalonia.Utilities |
|||
{ |
|||
public static class SpanHelpers |
|||
{ |
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|||
public static bool TryParseUInt(this ReadOnlySpan<char> span, NumberStyles style, IFormatProvider provider, out uint value) |
|||
{ |
|||
#if NETSTANDARD2_0
|
|||
return uint.TryParse(span.ToString(), style, provider, out value); |
|||
#else
|
|||
return uint.TryParse(span, style, provider, out value); |
|||
#endif
|
|||
} |
|||
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|||
public static bool TryParseInt(this ReadOnlySpan<char> span, out int value) |
|||
{ |
|||
#if NETSTANDARD2_0
|
|||
return int.TryParse(span.ToString(), out value); |
|||
#else
|
|||
return int.TryParse(span, out value); |
|||
#endif
|
|||
} |
|||
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|||
public static bool TryParseDouble(this ReadOnlySpan<char> span, NumberStyles style, IFormatProvider provider, out double value) |
|||
{ |
|||
#if NETSTANDARD2_0
|
|||
return double.TryParse(span.ToString(), style, provider, out value); |
|||
#else
|
|||
return double.TryParse(span, style, provider, out value); |
|||
#endif
|
|||
} |
|||
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|||
public static bool TryParseByte(this ReadOnlySpan<char> span, NumberStyles style, IFormatProvider provider, out byte value) |
|||
{ |
|||
#if NETSTANDARD2_0
|
|||
return byte.TryParse(span.ToString(), style, provider, out value); |
|||
#else
|
|||
return byte.TryParse(span, style, provider, out value); |
|||
#endif
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,6 @@ |
|||
<Project> |
|||
<Import Project="..\Directory.Build.props" /> |
|||
<PropertyGroup> |
|||
<EnableNETAnalyzers>false</EnableNETAnalyzers> |
|||
</PropertyGroup> |
|||
</Project> |
|||
Loading…
Reference in new issue