Beispiel #1
0
        /// <summary>
        /// String,Format,从池子拷贝,从而支持缓存,注意,cache=true,表示让ZString缓存,cache=false,自己在外部有缓存
        /// </summary>
        /// <param name="format"></param>
        /// <param name="cache"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public static string Format(string format, bool cache, params object[] args)
        {
            if (!format.Contains("{") || !format.Contains("}"))
            {
                return(format);
            }
            using (ZString.Block())
            {
                if (args != null && args.Length > 0)
                {
                    ZString @string = format;
                    if (args.Length == 1)
                    {
                        @string = ZString.Format(format, GetString(args[0]));
                    }
                    else if (args.Length == 2)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]));
                    }
                    else if (args.Length == 3)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]), GetString(args[2]));
                    }
                    else if (args.Length == 4)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]));
                    }
                    else if (args.Length == 5)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]));
                    }
                    else if (args.Length == 6)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]));
                    }
                    else if (args.Length == 7)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]), GetString(args[6]));
                    }
                    else if (args.Length == 8)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]), GetString(args[6]), GetString(args[7]));
                    }
                    else if (args.Length == 9)
                    {
                        @string = ZString.Format(format, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]), GetString(args[6]), GetString(args[7]), GetString(args[8]));
                    }

                    args = null;
                    return(@string.Intern(cache));
                }
                return(format);
            }
        }
Beispiel #2
0
        public static string Concaten(this string self, bool cache, params object[] args)
        {
            using (ZString.Block())
            {
                if (args != null && args.Length > 0)
                {
                    ZString @string = self;
                    if (args.Length == 1)
                    {
                        @string = ZString.Concat(self, GetString(args[0]));
                    }
                    else if (args.Length == 2)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]));
                    }
                    else if (args.Length == 3)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]), GetString(args[2]));
                    }
                    else if (args.Length == 4)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]));
                    }
                    else if (args.Length == 5)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]));
                    }
                    else if (args.Length == 6)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]));
                    }
                    else if (args.Length == 7)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]), GetString(args[6]));
                    }
                    else if (args.Length == 8)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]), GetString(args[6]), GetString(args[7]));
                    }
                    else if (args.Length == 9)
                    {
                        @string = ZString.Concat(self, GetString(args[0]), GetString(args[1]), GetString(args[2]), GetString(args[3]), GetString(args[4]), GetString(args[5]), GetString(args[6]), GetString(args[7]), GetString(args[8]));
                    }

                    args = null;
                    return(@string.Intern(cache));
                }
                return(self);
            }
        }