public void Add( int number, [InterpolatedStringHandlerArgument("")] ref IPropertyList.InterpolatedStringHandler handler) { if (number == 0) { return; } var chars = _arrayToReturnToPool.AsSpan(0, _pos); if (Header == 0) { Header = number; HeaderArgs = chars.ToString(); HeaderArgs.GetHashCode(StringComparison.Ordinal); } AddHash(number); if (chars.Length > 0) { AddHash(string.GetHashCode(chars, StringComparison.Ordinal)); } int strLength = chars.Length * 2; int length = _bufferPos + 6 + strLength; while (length > _buffer.Length) { Flush(); } var writer = new SpanWriter(_buffer.AsSpan(_bufferPos)); writer.Write(number); writer.Write((ushort)strLength); writer.Write(chars, TextEncoding.UnicodeLE); _bufferPos += writer.BytesWritten; }
public void Add( int number, [InterpolatedStringHandlerArgument("")] ref IPropertyList.InterpolatedStringHandler handler ) => InternalAdd(number, ref handler);
public void Add( [InterpolatedStringHandlerArgument("")] ref IPropertyList.InterpolatedStringHandler handler ) => InternalAdd(GetStringNumber(), ref handler);