public unsafe ValueString CreateValueStringFromAscii(byte[] arr, int start, int length)
{
if (start + length > arr.Length) throw new ArgumentException();
EnsureSpace(length);
fixed (char* ptr = str)
{
var ptrx = ptr + used;
fixed (byte* src = arr)
{
var srcx = src;
for (int i = 0; i < length; i++)
{
*ptrx = (char)*srcx;
ptrx++;
srcx++;
}
var offset = used;
used += length;
return new ValueString(str, offset, length);
}
}
}
#if !NET35