Open sandboxFocus

Class UnsafeStringBuilder

A class similar to StringBuilder, but implemented using unsafe C#.

Inheritance
UnsafeStringBuilder
Implements
Namespace: Flashtrace.Formatters
Assembly: Flashtrace.Formatters.dll
Syntax
public sealed class UnsafeStringBuilder : IDisposable

Constructors

Name Description
UnsafeStringBuilder(char*, int, bool)

Initializes a new instance of the UnsafeStringBuilder class with a pre-allocated buffer.

UnsafeStringBuilder(int, bool)

Initializes a new instance of the UnsafeStringBuilder class and allocates a new buffer.

Properties

Name Description
Buffer

Gets a pointer to the unmanaged buffer of the current UnsafeStringBuilder.

Capacity

Gets the capacity (number of char) of the current UnsafeStringBuilder.

IsDisposed

Gets a value indicating whether the current UnsafeStringBuilder has been disposed.

this[int]

Gets the char at a given position in the current UnsafeStringBuilder.

Length

Gets the current number of characters in the current UnsafeStringBuilder.

ThrowOnOverflow

Gets a value indicating whether an OverflowException should be thrown when the buffer capacity is insufficient. If false, the Append method should return false without exception.

Version

Gets the version of the current UnsafeStringBuilder. This property is incremented every time the current object is reused, more specifically, when the Clear() method is called.

Methods

Name Description
Append(UnsafeStringBuilder?)

Appends the current value of a UnsafeStringBuilder to the current UnsafeStringBuilder.

Append(bool)

Appends a bool (true or false, literally) to the current UnsafeStringBuilder.

Append(byte)

Appends a byte (with decimal formatting) to the current UnsafeStringBuilder.

Append(char)

Appends one char to the current UnsafeStringBuilder.

Append(char*, int)

Appends an unmanaged array of char to the current UnsafeStringBuilder.

Append(char, char)

Appends two char to the current UnsafeStringBuilder.

Append(char, char, char)

Appends three char to the current UnsafeStringBuilder.

Append(char, char, char, char)

Appends four char to the current UnsafeStringBuilder.

Append(char, char, char, char, char)

Appends five char to the current UnsafeStringBuilder.

Append(char, int)

Appends several times the same char to the current UnsafeStringBuilder.

Append(char[]?)

Appends an array of char to the current UnsafeStringBuilder.

Append(char[]?, int, int)

Appends an array segment of char to the current UnsafeStringBuilder.

Append(short)

Appends a short (with decimal formatting) to the current UnsafeStringBuilder.

Append(int)

Appends a int (with decimal formatting) to the current UnsafeStringBuilder.

Append(long)

Appends a long (with decimal formatting) to the current UnsafeStringBuilder.

Append(ReadOnlySpan<char>)
Append(sbyte)

Appends an sbyte (with decimal formatting) to the current UnsafeStringBuilder.

Append(string?)

Appends a string to the current UnsafeStringBuilder.

Append(string?, int, int)

Appends a part of a string to the current UnsafeStringBuilder.

Append(ushort)

Appends a ushort (with decimal formatting) to the current UnsafeStringBuilder.

Append(uint)

Appends a uint (with decimal formatting) to the current UnsafeStringBuilder.

Append(ulong)

Appends a ulong (with decimal formatting) to the current UnsafeStringBuilder.

Append<T>(T, ReadOnlySpan<char>, IFormatProvider?)
Clear()

Clears the current UnsafeStringBuilder so it can be reused to build a new string.

Dispose()
~UnsafeStringBuilder()
SetNullTermination()

Appends a null character at the end of the current string, without affecting the string length. In case of overflow, if ThrowOnOverflow is false, the last character of the string is removed and the string length is decreased by 1.

Substring(int)

Returns the substring starting at a given index and ending at the end of the current string.

Substring(int, int)

Returns the substring starting at a given index and having a specified length.

ToString()
Truncate(int)

Truncates the string to a maximum length.

Extension Methods