Example #1
0
        /// <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();
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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();
            }
        }
Example #4
0
        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();
            }
        }
Example #5
0
        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();
            }
        }
Example #6
0
        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();
            }
        }
Example #7
0
        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();
            }
        }
Example #8
0
        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();
            }
        }
Example #9
0
        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();
            }
        }
Example #10
0
        /// <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();
            }
        }
Example #11
0
        /// <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();
            }
        }
Example #12
0
        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();
            }
        }
Example #13
0
 /// <summary>
 /// Creates a new instance with given format provider.
 /// </summary>
 public ZStringWriter(IFormatProvider formatProvider) : base(formatProvider)
 {
     sb     = ZString.CreateStringBuilder();
     isOpen = true;
 }
        public static void SetText(this TMP_Text text, Utf16ValueStringBuilder stringBuilder)
        {
            var array = stringBuilder.AsArraySegment();

            text.SetCharArray(array.Array, array.Offset, array.Count);
        }