@@ -46,14 +46,26 @@ internal static ServiceName ToServiceName(this byte[] data)
46
46
}
47
47
}
48
48
49
+ internal static BigInteger ToBigInteger ( this ReadOnlySpan < byte > data )
50
+ {
51
+ #if NETSTANDARD2_1 || NET
52
+ return new BigInteger ( data , isBigEndian : true ) ;
53
+ #else
54
+ var reversed = data . ToArray ( ) ;
55
+ Array . Reverse ( reversed ) ;
56
+ return new BigInteger ( reversed ) ;
57
+ #endif
58
+ }
59
+
49
60
internal static BigInteger ToBigInteger ( this byte [ ] data )
50
61
{
51
62
#if NETSTANDARD2_1 || NET
52
63
return new BigInteger ( data , isBigEndian : true ) ;
53
64
#else
54
65
var reversed = new byte [ data . Length ] ;
55
66
Buffer . BlockCopy ( data , 0 , reversed , 0 , data . Length ) ;
56
- return new BigInteger ( reversed . Reverse ( ) ) ;
67
+ Array . Reverse ( reversed ) ;
68
+ return new BigInteger ( reversed ) ;
57
69
#endif
58
70
}
59
71
@@ -69,7 +81,8 @@ public static BigInteger ToBigInteger2(this byte[] data)
69
81
{
70
82
var buf = new byte [ data . Length + 1 ] ;
71
83
Buffer . BlockCopy ( data , 0 , buf , 1 , data . Length ) ;
72
- return new BigInteger ( buf . Reverse ( ) ) ;
84
+ Array . Reverse ( buf ) ;
85
+ return new BigInteger ( buf ) ;
73
86
}
74
87
75
88
return data . ToBigInteger ( ) ;
@@ -88,7 +101,7 @@ public static byte[] ToByteArray(this BigInteger bigInt, bool isUnsigned = false
88
101
89
102
if ( isBigEndian )
90
103
{
91
- _ = data . Reverse ( ) ;
104
+ Array . Reverse ( data ) ;
92
105
}
93
106
94
107
return data ;
@@ -138,19 +151,6 @@ public static void SetIgnoringObjectDisposed(this EventWaitHandle waitHandle)
138
151
}
139
152
}
140
153
141
- /// <summary>
142
- /// Reverses the sequence of the elements in the entire one-dimensional <see cref="Array"/>.
143
- /// </summary>
144
- /// <param name="array">The one-dimensional <see cref="Array"/> to reverse.</param>
145
- /// <returns>
146
- /// The <see cref="Array"/> with its elements reversed.
147
- /// </returns>
148
- internal static T [ ] Reverse < T > ( this T [ ] array )
149
- {
150
- Array . Reverse ( array ) ;
151
- return array ;
152
- }
153
-
154
154
/// <summary>
155
155
/// Prints out the specified bytes.
156
156
/// </summary>
0 commit comments