DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="4.2.0-beta5621" />

 StringBuilderHelper

static class StringBuilderHelper
using System; using System.Globalization; using System.Text; namespace Autodesk.DesignScript.Geometry { internal static class StringBuilderHelper { private static readonly CultureInfo _inv = CultureInfo.InvariantCulture; public static StringBuilder Add(this StringBuilder builder, string name, bool value) { return builder.Append(name).Append(value); } public static StringBuilder Add(this StringBuilder builder, string name, int value) { return builder.Append(name).Append(value); } public static StringBuilder Add(this StringBuilder builder, string name, long value) { return builder.Append(name).Append(value); } public static StringBuilder Add(this StringBuilder builder, string name, double value) { return builder.Append(name).AddDouble(value); } public static StringBuilder Add(this StringBuilder builder, string name, DesignScriptEntity value) { return builder.Append(name).Add(value); } private unsafe static StringBuilder AddDouble(this StringBuilder builder, double value) { Span<char> span = new Span<char>(stackalloc byte[128], 64); Span<char> destination = span; if (value.TryFormat(destination, out int charsWritten, "F3", _inv)) builder.Append(destination.Slice(0, charsWritten)); else builder.Append(value.ToString("F3", _inv)); return builder; } public static StringBuilder Add(this StringBuilder builder, DesignScriptEntity value) { value.AppendTo(builder); return builder; } } }