public unsafe string GetRaw() { string variable = Variable; if (variable == null) { throw new ArgumentNullException(nameof(variable)); } Span <char> stack = stackalloc char[128]; ValueStringBuilder buffer = new ValueStringBuilder(stack); uint returnValue; while ((returnValue = Raw.GetEnvironmentVariable(variable, buffer.RawChars)) > buffer.Capacity) { buffer.EnsureCapacity((int)returnValue); } if (returnValue == 0) { return(null); } buffer.Length = (int)returnValue; return(buffer.ToString()); }