15 writes to _string
System.Private.Uri (15)
System\Uri.cs (9)
2169_string = _string.Substring(0, idx); 2187_string = _string.Substring(0, idx); 2237_string = newHost; 3345_string = string.Empty; 3349_string = _syntax.SchemeName + SchemeDelimiter; 3367_string = string.Concat(_string, _originalUnicodeString.AsSpan(origIdx)); 3427_string += EscapeUnescapeIri(_originalUnicodeString, offset, origIdx, UriComponents.Path); 3557_string += EscapeUnescapeIri(_originalUnicodeString, offset, origIdx, UriComponents.Query); 3608_string += EscapeUnescapeIri(_originalUnicodeString, offset, origIdx, UriComponents.Fragment);
System\UriExt.cs (6)
29_string = uri ?? string.Empty; 86_string = null!; // make it be invalid Uri 205_string = EscapeUnescapeIri(_originalUnicodeString, 0, _originalUnicodeString.Length, 211_string = null!; // make it be invalid Uri 737_string = uri; 1091_string = otherUri._string;
126 references to _string
System.Private.Uri (126)
System\Uri.cs (101)
168Debug.Assert(offset.End >= offset.Fragment && offset.End <= _string.Length); 188Debug.Assert(Ascii.IsValid(_string)); 339char ch = _string[_info.Offset.Path]; 548[MemberNotNull(nameof(_string))] 1026? _string 1027: (IsDosPath && (_string[start] == '/' || _string[start] == '\\')) 1028? _string.Substring(start + 1, _info.Offset.Query - start - 1) 1029: _string.Substring(start, _info.Offset.Query - start); 1064if (_string[start] == '/' || _string[start] == '\\') 1076UriHelper.UnescapeString(_string, start, _info.Offset.Query, result, ref count, c_DummyChar, 1184public string OriginalString => _originalUnicodeString ?? _string; 1607return _string; 1629result = _string; 1666(IsDosPath && _string[_info.Offset.Path + SecuredPathIndex - 1] == '|')) // A rare case of c|\ 1676result = _string.AsSpan(_info.Offset.Scheme, _info.Offset.End - _info.Offset.Scheme); 1797if (string.Equals(_string, other._string, IsUncOrDosPath ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal)) 1819string str = other._string; 1828if (_string[i1] != str[i2]) 1841if (i1 < _info.Offset.Path && _string[i1] != ':') 2029int length = _string.Length; 2036Debug.Assert(ReferenceEquals(_string, OriginalString)); 2038fixed (char* pUriString = _string) 2169_string = _string.Substring(0, idx); 2187_string = _string.Substring(0, idx); 2263info.Offset.End = _string.Length; 2276while (UriHelper.IsLWS(_string[idx])) 2288while (idx < end && (_string[idx] == '/' || _string[idx] == '\\')) 2299while (_string[idx++] != ':') 2306if (_string[idx] == '\\' || _string[idx + 1] == '\\') 2315while (idx < end && (_string[idx] == '/' || _string[idx] == '\\')) 2359while (_string[idx] != '@') 2484string host = CreateHostStringHelper(_string, _info.Offset.Host, _info.Offset.Path, ref flags, _info); 2542host[i] != _string[_info.Offset.Host + i]) 2658if ((_info.Offset.Host + i) >= _info.Offset.End || host[i] != _string[_info.Offset.Host + i]) 2730else if (IsDosPath && _string[_info.Offset.Path + SecuredPathIndex - 1] == '|') 2765else if (IsDosPath && _string[_info.Offset.Path + SecuredPathIndex - 1] == '|') 2788string str = _string; 2805string str = _string; 3071return _string.Substring(_info.Offset.Scheme, _info.Offset.Path - _info.Offset.Scheme); 3074_string.AsSpan(_info.Offset.Scheme, _info.Offset.User - _info.Offset.Scheme), 3075_string.AsSpan(_info.Offset.Host, _info.Offset.Path - _info.Offset.Host)); 3084return _string.Substring(_info.Offset.Host, _info.Offset.Path - _info.Offset.Host); 3086return string.Concat(_string.AsSpan(_info.Offset.Host, _info.Offset.Path - _info.Offset.Host), 3091if (_info.Offset.Scheme == 0 && _info.Offset.End == _string.Length) 3092return _string; 3094return _string.Substring(_info.Offset.Scheme, _info.Offset.End - _info.Offset.Scheme); 3101_string.AsSpan(_info.Offset.Scheme, _info.Offset.User - _info.Offset.Scheme), 3102_string.AsSpan(_info.Offset.Host, _info.Offset.Fragment - _info.Offset.Host)); 3104if (_info.Offset.Scheme == 0 && _info.Offset.Fragment == _string.Length) 3105return _string; 3107return _string.Substring(_info.Offset.Scheme, _info.Offset.Fragment - _info.Offset.Scheme); 3111return _string.Substring(_info.Offset.Scheme, _info.Offset.Path - _info.Offset.Scheme); 3115if (_info.Offset.Scheme == 0 && _info.Offset.Fragment == _string.Length) 3116return _string; 3118return _string.Substring(_info.Offset.Scheme, _info.Offset.Fragment - _info.Offset.Scheme); 3124return _string.Substring(_info.Offset.Scheme, _info.Offset.User - _info.Offset.Scheme); 3134while (_string[--idx] != ':') 3137return (idx - _info.Offset.Host == 0) ? string.Empty : _string.Substring(_info.Offset.Host, 3144_info.Offset.End > _info.Offset.Path && _string[_info.Offset.Path] == '/') 3153return _string.Substring(delimiterAwareIdx, _info.Offset.Query - delimiterAwareIdx); 3165return _string.Substring(delimiterAwareIdx, _info.Offset.Fragment - delimiterAwareIdx); 3177return _string.Substring(delimiterAwareIdx, _info.Offset.End - delimiterAwareIdx); 3181_string.Substring(_info.Offset.User, _info.Offset.Path - _info.Offset.User); 3187return string.Concat(_string.AsSpan(_info.Offset.User, _info.Offset.Path - _info.Offset.User), 3191return _string.Substring(_info.Offset.Path, _info.Offset.Fragment - _info.Offset.Path); 3197_string.AsSpan(_info.Offset.Scheme, _info.Offset.User - _info.Offset.Scheme), 3198_string.AsSpan(_info.Offset.Host, _info.Offset.End - _info.Offset.Host)); 3200if (_info.Offset.Scheme == 0 && _info.Offset.End == _string.Length) 3201return _string; 3203return _string.Substring(_info.Offset.Scheme, _info.Offset.End - _info.Offset.Scheme); 3206return _string.Substring(_info.Offset.Path, _info.Offset.End - _info.Offset.Path); 3222return _string.Substring(_info.Offset.User, delimiterAwareIdx - _info.Offset.User); 3262int length = _string.Length; 3268fixed (char* str = _string) 3270GetLengthWithoutTrailingSpaces(_string, ref length, idx); 3353_info.Offset.User = _string.Length; 3354_info.Offset.Host = _string.Length; 3357_info.Offset.Path = _string.Length; 3367_string = string.Concat(_string, _originalUnicodeString.AsSpan(origIdx)); 3370string str = _string; 3429length = _string.Length; 3431if (_string == _originalUnicodeString) 3433GetLengthWithoutTrailingSpaces(_string, ref length, idx); 3437fixed (char* str = _string) 3559length = _string.Length; 3561if (_string == _originalUnicodeString) 3563GetLengthWithoutTrailingSpaces(_string, ref length, idx); 3570fixed (char* str = _string) 3610length = _string.Length; 3612GetLengthWithoutTrailingSpaces(_string, ref length, idx); 3618fixed (char* str = _string) 4349dest.Append(_string.AsSpan(_info.Offset.Path, _info.Offset.Query - _info.Offset.Path)); 4371ReadOnlySpan<char> str = _string; 4387dest.Append(_string.AsSpan(_info.Offset.Path, _info.Offset.Query - _info.Offset.Path)); 4408dest.Append(_string.AsSpan(_info.Offset.Path, _info.Offset.Query - _info.Offset.Path));
System\UriExt.cs (25)
19[MemberNotNull(nameof(_string))] 39ParsingError err = ParseScheme(_string, ref _flags, ref _syntax!); 60((uriKind == UriKind.Relative || (_string.Length >= 2 && (_string[0] != '\\' || _string[1] != '\\'))) 93if (IriParsing && CheckForUnicodeOrEscapedUnreserved(_string)) 98_originalUnicodeString = _string; // original string location changed 443fixed (char* str = _string) 452if (CheckForColonInFirstPathSegment(_string)) 456return (CheckCanonical(str, ref idx, _string.Length, c_EOL) 506if (idx >= _info.Offset.User || _string[idx - 1] == '\\' || _string[idx] == '\\') 511while (++idx < _info.Offset.User && (_string[idx] == '/' || _string[idx] == '\\')) 531if (IsDosPath && _string[_info.Offset.Path + SecuredPathIndex - 1] == '|') 560if (idx + 1 >= _string.Length || str[idx] != '/' || str[idx + 1] != '/') 884if (ReferenceEquals(newUriString, baseUri._string)) 894return UriHelper.EscapeString(_string, checkExistingEscaped: true, UriHelper.UnreservedReserved); 898return UnescapeDataString(_string); 902if (_string.Length == 0) 906UriHelper.UnescapeString(_string, ref vsb, c_DummyChar, c_DummyChar, c_DummyChar, UnescapeMode.EscapeUnescape, null, false); 1047[MemberNotNull(nameof(_string))] 1075while (otherUri._string[portIndex] != ':' && portIndex > otherUri._info.Offset.Host) 1079if (otherUri._string[portIndex] != ':') 1091_string = otherUri._string;