/// <summary>Concatenates the elements of an array, using the specified seperator between each element.</summary> public static string Join <T>(string separator, IEnumerable <T> values) { var sb = new Utf16ValueStringBuilder(true); try { var isFirst = true; foreach (var item in values) { if (!isFirst) { sb.Append(separator); } else { isFirst = false; } sb.Append(item); } return(sb.ToString()); } finally { sb.Dispose(); } }
public static string Format <T1, T2, T3>(ReadOnlySpan <char> format, T1 arg1, T2 arg2, T3 arg3) { var sb = new Utf16ValueStringBuilder(true); try { sb.AppendFormat(format, arg1, arg2, arg3); return(sb.ToString()); } finally { sb.Dispose(); } }
public static string Format <T1>(string format, T1 arg1) { var sb = new Utf16ValueStringBuilder(true); try { sb.AppendFormat(format, arg1); return(sb.ToString()); } finally { sb.Dispose(); } }
public static string Format <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(ReadOnlySpan <char> format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) { var sb = new Utf16ValueStringBuilder(true); try { sb.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); return(sb.ToString()); } finally { sb.Dispose(); } }
public static string Format <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) { var sb = new Utf16ValueStringBuilder(true); try { sb.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); return(sb.ToString()); } finally { sb.Dispose(); } }
public static string Format <T1, T2, T3, T4, T5, T6, T7, T8>(ReadOnlySpan <char> format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) { var sb = new Utf16ValueStringBuilder(true); try { sb.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); return(sb.ToString()); } finally { sb.Dispose(); } }
public static string Format <T1, T2, T3, T4, T5, T6>(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) { var sb = new Utf16ValueStringBuilder(true); try { sb.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6); return(sb.ToString()); } finally { sb.Dispose(); } }
public static string Format <T0, T1, T2, T3, T4>(string format, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) { var sb = new Utf16ValueStringBuilder(); sb.Init(true); try { sb.AppendFormat(format, arg0, arg1, arg2, arg3, arg4); return(sb.ToString()); } finally { sb.Dispose(); } }
static string JoinInternal <T>(ReadOnlySpan <char> separator, IList <T> values) { var count = values.Count; if (count == 0) { return(string.Empty); } else if (typeof(T) == typeof(string) && count == 1) { return(Unsafe.As <string>(values[0])); } var sb = new Utf16ValueStringBuilder(true); try { for (int i = 0; i < count; i++) { if (i != 0) { sb.Append(separator); } var item = values[i]; if (typeof(T) == typeof(string)) { var s = Unsafe.As <string>(item); if (!string.IsNullOrEmpty(s)) { sb.Append(s); } } else { sb.Append(item); } } return(sb.ToString()); } finally { sb.Dispose(); } }
/// <summary>Concatenates the elements of an array, using the specified seperator between each element.</summary> public static string Join <T>(char separator, ReadOnlySpan <T> values) { var sb = new Utf16ValueStringBuilder(true); try { for (int i = 0; i < values.Length; i++) { if (i != 0) { sb.Append(separator); } sb.Append(values[i]); } return(sb.ToString()); } finally { sb.Dispose(); } }
/// <summary>Concatenates the elements of an array, using the specified seperator between each element.</summary> public static string Join <T>(char separator, List <T> values) { var sb = new Utf16ValueStringBuilder(true); try { var count = values.Count; for (int i = 0; i < count; i++) { if (i != 0) { sb.Append(separator); } sb.Append(values[i]); } return(sb.ToString()); } finally { sb.Dispose(); } }
static string JoinInternal <T>(ReadOnlySpan <char> separator, IEnumerable <T> values) { var sb = new Utf16ValueStringBuilder(true); try { var isFirst = true; foreach (var item in values) { if (!isFirst) { sb.Append(separator); } else { isFirst = false; } if (typeof(T) == typeof(string)) { var s = Unsafe.As <string>(item); if (!string.IsNullOrEmpty(s)) { sb.Append(s); } } else { sb.Append(item); } } return(sb.ToString()); } finally { sb.Dispose(); } }
/// <summary> /// Materializes the current state from underlying string builder. /// </summary> public override string ToString() { return(sb.ToString()); }