@@ -45,7 +45,7 @@ public char this[int index]
4545 /// </summary>
4646 /// <param name="value">The string to wrap.</param>
4747 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
48- public StringView ( string value ) : this ( value , 0 , value . Length , dummy : 0 )
48+ public StringView ( string value ) : this ( value , 0 , value . Length , unused : 0 )
4949 {
5050 }
5151
@@ -96,17 +96,23 @@ public StringView(string value, int index, int length)
9696 /// Initializes a new instance of the <see cref="StringView"/> structure that creates
9797 /// a view for the specified range of the characters in the specified string.
9898 /// </summary>
99+ /// <remarks>
100+ /// This constructor is intentionally minimal and skips all argument validations,
101+ /// as the caller is responsible for ensuring correctness (e.g.,
102+ /// <paramref name="value"/> is non-null, <paramref name="index"/> and
103+ /// <paramref name="length"/> are within bounds).
104+ /// </remarks>
99105 /// <param name="value">The string to wrap.</param>
100106 /// <param name="index">The zero-based index of the first character in the range.</param>
101107 /// <param name="length">The number of characters in the range.</param>
102- /// <param name="dummy">The dummy parameter.</param>
108+ /// <param name="unused">Unused parameter, exists solely to disambiguate overloads .</param>
103109 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
104- private StringView ( string value , int index , int length , int dummy )
110+ private StringView ( string value , int index , int length , int unused )
105111 {
106112 _index = index ;
107113 _length = length ;
108114 _value = value ;
109- _ = dummy ;
115+ _ = unused ;
110116 }
111117
112118 /// <inheritdoc cref="IEnumerable{T}.GetEnumerator"/>
@@ -156,7 +162,7 @@ public StringView Slice(int start)
156162 if ( ( uint ) start > ( uint ) _length )
157163 ThrowHelper . ThrowArgumentOutOfRangeException ( ) ;
158164
159- return new StringView ( _value ! , _index + start , _length - start , dummy : 0 ) ;
165+ return new StringView ( _value ! , _index + start , _length - start , unused : 0 ) ;
160166 }
161167
162168 /// <summary>
@@ -182,7 +188,7 @@ public StringView Slice(int start, int length)
182188 ThrowHelper . ThrowArgumentOutOfRangeException ( ) ;
183189 }
184190
185- return new StringView ( _value ! , _index + start , length , dummy : 0 ) ;
191+ return new StringView ( _value ! , _index + start , length , unused : 0 ) ;
186192 }
187193
188194 /// <summary>
@@ -256,7 +262,7 @@ public StringView TrimStart()
256262 if ( ! char . IsWhiteSpace ( value . GetRawStringData ( start ) ) )
257263 break ;
258264
259- return new StringView ( value ! , start , final - start , dummy : 0 ) ;
265+ return new StringView ( value ! , start , final - start , unused : 0 ) ;
260266 }
261267
262268 /// <summary>
@@ -277,7 +283,7 @@ public StringView TrimStart(char trimChar)
277283 if ( value . GetRawStringData ( start ) != trimChar )
278284 break ;
279285
280- return new StringView ( value ! , start , final - start , dummy : 0 ) ;
286+ return new StringView ( value ! , start , final - start , unused : 0 ) ;
281287 }
282288
283289 /// <summary>
@@ -328,7 +334,7 @@ public StringView TrimStart(ReadOnlySpan<char> trimChars)
328334 }
329335 }
330336
331- return new StringView ( value ! , start , final - start , dummy : 0 ) ;
337+ return new StringView ( value ! , start , final - start , unused : 0 ) ;
332338 }
333339
334340 /// <summary>
@@ -348,7 +354,7 @@ public StringView TrimEnd()
348354 if ( ! char . IsWhiteSpace ( value . GetRawStringData ( final ) ) )
349355 break ;
350356
351- return new StringView ( value ! , start , final + 1 - start , dummy : 0 ) ;
357+ return new StringView ( value ! , start , final + 1 - start , unused : 0 ) ;
352358 }
353359
354360 /// <summary>
@@ -369,7 +375,7 @@ public StringView TrimEnd(char trimChar)
369375 if ( value . GetRawStringData ( final ) != trimChar )
370376 break ;
371377
372- return new StringView ( value ! , start , final + 1 - start , dummy : 0 ) ;
378+ return new StringView ( value ! , start , final + 1 - start , unused : 0 ) ;
373379 }
374380
375381 /// <summary>
@@ -420,7 +426,7 @@ public StringView TrimEnd(ReadOnlySpan<char> trimChars)
420426 }
421427 }
422428
423- return new StringView ( value ! , start , final + 1 - start , dummy : 0 ) ;
429+ return new StringView ( value ! , start , final + 1 - start , unused : 0 ) ;
424430 }
425431
426432 /// <summary>
@@ -446,7 +452,7 @@ public StringView Trim()
446452 break ;
447453 }
448454
449- return new StringView ( value ! , start , final + 1 - start , dummy : 0 ) ;
455+ return new StringView ( value ! , start , final + 1 - start , unused : 0 ) ;
450456 }
451457
452458 /// <summary>
@@ -473,7 +479,7 @@ public StringView Trim(char trimChar)
473479 break ;
474480 }
475481
476- return new StringView ( value ! , start , final + 1 - start , dummy : 0 ) ;
482+ return new StringView ( value ! , start , final + 1 - start , unused : 0 ) ;
477483 }
478484
479485 /// <summary>
@@ -534,7 +540,7 @@ public StringView Trim(ReadOnlySpan<char> trimChars)
534540 }
535541 }
536542
537- return new StringView ( value ! , start , final + 1 - start , dummy : 0 ) ;
543+ return new StringView ( value ! , start , final + 1 - start , unused : 0 ) ;
538544 }
539545
540546 /// <summary>
0 commit comments