10 public static StringBuilder
AppendWhen(
this StringBuilder builder,
bool condition, params
string[] values)
14 foreach (
string value
in values)
16 builder.Append(value);
23 public static StringBuilder
AppendWhen(
this StringBuilder builder,
bool condition, params
char[] values)
27 foreach (
char value
in values)
29 builder.Append(value);
42 ? builder.AppendFormat(format, args)
46 public static StringBuilder
AppendIf(
this StringBuilder builder,
bool condition,
string ifTrue,
string ifFalse)
49 ? builder.Append(ifTrue)
50 : builder.Append(ifFalse);
53 public static StringBuilder
BimapIf(
this StringBuilder builder,
55 Func<StringBuilder, StringBuilder> ifTrue,
56 Func<StringBuilder, StringBuilder> ifFalse)
63 public static StringBuilder
MapIf(
this StringBuilder builder,
65 Func<StringBuilder, StringBuilder> ifTrue)
72 public static StringBuilder
AppendIfNotEmpty(
this StringBuilder builder, params
string[] values)
74 foreach (
string value
in values)
78 builder.Append(value);
87 return builder ==
null
94 return builder ==
null ? 0 : builder.Length;
97 public static StringBuilder
TrimEnd(
this StringBuilder builder,
char c)
99 return builder.Length > 0
100 ? builder.Remove(builder.Length - 1, 1)
106 if (builder.Length > 0)
108 if (builder[builder.Length - 1] == c)
110 builder.Remove(builder.Length - 1, 1);
120 ? builder.TrimEndIfMatch(c)
126 int bound = builder.Length - 1;
128 if (builder.Length == 0)
133 if (builder[bound] !=
' ')
140 for (
int i = bound; i <= bound; i--)
147 if (builder[i] !=
' ')
168 if (
string.IsNullOrEmpty(s))
173 return builder?.Length >= s.Length && builder.ToString(0, s.Length) == s;
186 if (
string.IsNullOrEmpty(s))
191 return builder?.Length >= s.Length && builder.ToString(builder.Length - s.Length, s.Length) == s;
static StringBuilder AppendIf(this StringBuilder builder, bool condition, string ifTrue, string ifFalse)
static StringBuilder TrimEndIfMatchWhen(this StringBuilder builder, bool condition, char c)
static StringBuilder TrimEnd(this StringBuilder builder, char c)
static StringBuilder AppendWhen(this StringBuilder builder, bool condition, params string[] values)
static StringBuilder TrimEndIfMatch(this StringBuilder builder, char c)
static StringBuilder BimapIf(this StringBuilder builder, bool condition, Func< StringBuilder, StringBuilder > ifTrue, Func< StringBuilder, StringBuilder > ifFalse)
static StringBuilder AppendWhen(this StringBuilder builder, bool condition, params char[] values)
static int TrailingSpaces(this StringBuilder builder)
static string SafeToString(this StringBuilder builder)
static int SafeLength(this StringBuilder builder)
static bool SafeEndsWith(this StringBuilder builder, string s)
Indicates whether the string value of a System.Text.StringBuilder ends with the input System....
static bool SafeStartsWith(this StringBuilder builder, string s)
Indicates whether the string value of a System.Text.StringBuilder starts with the input System....
static StringBuilder MapIf(this StringBuilder builder, bool condition, Func< StringBuilder, StringBuilder > ifTrue)
static StringBuilder AppendFormatWhen(this StringBuilder builder, bool condition, string format, params object[] args)
static StringBuilder AppendIfNotEmpty(this StringBuilder builder, params string[] values)