3 writes to _chars
System.Private.Xml (3)
src\libraries\Common\src\System\Text\ValueStringBuilder.cs (3)
23_chars = initialBuffer; 30_chars = _arrayToReturnToPool; 270_chars = _arrayToReturnToPool = poolArray;
34 references to _chars
System.Private.Xml (34)
src\libraries\Common\src\System\Text\ValueStringBuilder.AppendSpanFormattable.cs (1)
10if (value.TryFormat(_chars.Slice(_pos), out int charsWritten, format, provider))
src\libraries\Common\src\System\Text\ValueStringBuilder.cs (33)
40Debug.Assert(value <= _chars.Length); 45public int Capacity => _chars.Length; 53if ((uint)capacity > (uint)_chars.Length) 64_chars[_pos] = '\0'; 75return ref MemoryMarshal.GetReference(_chars); 83return ref _chars[index]; 93string s = _chars.Slice(0, _pos).ToString(); 99public Span<char> RawChars => _chars; 101public ReadOnlySpan<char> AsSpan() => _chars.Slice(0, _pos); 102public ReadOnlySpan<char> AsSpan(int start) => _chars.Slice(start, _pos - start); 103public ReadOnlySpan<char> AsSpan(int start, int length) => _chars.Slice(start, length); 107if (_pos > _chars.Length - count) 113_chars.Slice(index, remaining).CopyTo(_chars.Slice(index + count)); 114_chars.Slice(index, count).Fill(value); 127if (_pos > (_chars.Length - count)) 133_chars.Slice(index, remaining).CopyTo(_chars.Slice(index + count)); 138.CopyTo(_chars.Slice(index)); 146Span<char> chars = _chars; 167if (s.Length == 1 && (uint)pos < (uint)_chars.Length) // very common case, e.g. appending strings from NumberFormatInfo like separators, percent symbols, etc. 169_chars[pos] = s[0]; 181if (pos > _chars.Length - s.Length) 190.CopyTo(_chars.Slice(pos)); 196if (_pos > _chars.Length - count) 201Span<char> dst = _chars.Slice(_pos, count); 212if (pos > _chars.Length - value.Length) 217value.CopyTo(_chars.Slice(_pos)); 225if (origPos > _chars.Length - length) 231return _chars.Slice(origPos, length); 253Debug.Assert(_pos > _chars.Length - additionalCapacityBeyondPos, "Grow called incorrectly, no resize is needed."); 261Math.Min((uint)_chars.Length * 2, ArrayMaxLength)); 267_chars.Slice(0, _pos).CopyTo(poolArray);