/// <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); } }
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); } }