当前位置: 首页 > news >正文

wordpress建站的案例付网站建设费用会计分录

wordpress建站的案例,付网站建设费用会计分录,网站的布局设计,wordpress首页调用指定分类今天#xff0c;我在写C#代码时#xff0c;突然发现一个最熟悉的陌生人 —— string.Format。在写C#代码的日子里#xff0c;与它朝夕相伴#xff0c;却没有真正去了解它。只知道在字符串比较多时#xff0c;用它比用加号进行字符串连接效率更高#xff08;当然也更方便我在写C#代码时突然发现一个最熟悉的陌生人 —— string.Format。在写C#代码的日子里与它朝夕相伴却没有真正去了解它。只知道在字符串比较多时用它比用加号进行字符串连接效率更高当然也更方便。可是却从来没有问过为什么 在生活中也有类似的现象与你朝夕相处、你最熟悉的人你往往不会进一步去了解她他你已经习惯了她他你认为你已经太了解她他了。。。真的是这样吗这值得去思考。。。 博问中的一个问题 —— StringBuilderString.concat()StringString 哪一个效率高  激发了我的好奇心想一探string.Format的究竟而且在开发中也正好遇到一个字符串连接的问题。 了解.NET世界中的东西其实很简单只要通过工具反编译出相应的.NET类库代码我们来看看string.Fomat的代码 public static string Format(string format, object arg0, object arg1, object arg2){if (format null)throw new ArgumentNullException(format);return string.Format((IFormatProvider) null, format, arg0, arg1, arg2);} 实际调用的是另外一个签名的string.Format public static string Format(IFormatProvider provider, string format, params object[] args){if (format null || args null)throw new ArgumentNullException(format null ? format : args);StringBuilder stringBuilder new StringBuilder(format.Length args.Length * 8);stringBuilder.AppendFormat(provider, format, args);return ((object) stringBuilder).ToString();} 哦原来用的就是StringBuilder也许你早就知道了string.Format只是StringBuilder的改装精简版。 既然是StringBuilder它必然无法避免一个影响StringBuilder性能的问题 —— 初始化容量capacity的问题string.Format是如何解决的呢从上面的代码一眼就可以看出初始化容量是这么计算出来的 format.Length args.Length * 8 从这个计算公式可以看出假设需要format的字符串是10个如果这10字符串累加起来的字符数不超过80就能发挥StringBuilder的最佳性能否则StringBuider需要扩容从而带来性能损失。 所以对于大字符串string.Format不是最佳选择。 那最佳选择是什么还是StringBuilder只不过要自己写代码计算初始化容量。分享一下今天我们在实际开发中使用的代码 var bodyFormat span id\comment_body_{0}\{1}/spanbr/; var diggFormat a href\javascript:void(0);\ οnclick\voteComment({0},Digg)\支持({2})/a; var buryFormat a href\javascript:void(0);\ οnclick\voteComment({0},Bury)\反对({3})/a; var args new string[]{ comment.ID.ToString(), comment.Body, comment.DiggCount.ToString(), comment.BuryCount.ToString() }; //计算初始化容量 int capacity bodyFormat.Length diggFormat.Length buryFormat.Length; for (int i 0; i args.Length; i) {capacity args[i].Length; } var sb new StringBuilder(capacity); sb.AppendFormat(bodyFormat,args); sb.AppendFormat(diggFormat,args); sb.AppendFormat(buryFormat,args); Post.Text sb.ToString(); 这里没有使用string.Format一是因为comment.Body的字符数会很多string.Format分配的初始化容量不够。二是因为string.Format不能分批Fomat格式字符串只能写在一起造成格式字符串很长也就是bodyFormat, diggFormat, buryFormat要拼成一个字符串。 麻烦主要在参数字符串(args)的长度计算要将每个字符串的字符数进行累加。我们采用的方法是将所有参数放在string[]类型的变量中通过遍历数组进行计算然后将这个string[]类型的变量直接传给StringBuilder.AppendFormat它支持的参数类型是object[]。 小结 写这篇博文不是为让你弃用string.Format而是让你了解它所存在的限制在某些性能要求极高的场景下可以考虑到这个影响因素。 更新 针对这个问题实现了两个扩展方法。 1. 针对单个格式字符串 namespace System {public static class StringExtension{public static string FormatWith(this string format, params object[] args){if (format null || args null){throw new ArgumentNullException((format null) ? format : args);}else{var capacity format.Length args.Where(a a ! null).Select(p p.ToString()).Sum(p p.Length);Console.WriteLine(capacity);var stringBuilder new StringBuilder(capacity);stringBuilder.AppendFormat(format, args);return stringBuilder.ToString();}} } } 调用示例 welcome to {0}! welcome to {1}!.FormatWith(www.cnblogs.com, q.cnblogs.com); 2. 针对多个格式字符串 namespace System {public static class StringExtension{public static string FormatWith(this IEnumerablestring formats, params object[] args){if (formats null || args null){throw new ArgumentNullException((formats null) ? formats : args);}else{var capacity formats.Where(f !string.IsNullOrEmpty(f)).Sum(f f.Length) args.Where(a a ! null).Select(p p.ToString()).Sum(p p.Length);var stringBuilder new StringBuilder(capacity);foreach (var f in formats){if (!string.IsNullOrEmpty(f)){stringBuilder.AppendFormat(f, args);}}return stringBuilder.ToString();}}} } 调用示例 new string[] { welcome to {0}!, welcome to {1}! }.FormatWith(www.cnblogs.com, q.cnblogs.com); 前面使用StringBuilder的代码改为调用扩展方法 Post.Text new string[]{ span id\comment_body_{0}\ class\blog_comment_body\{1}/spanbr/,a href\javascript:void(0);\ class\comment_vote\ οnclick\voteComment({0},Digg)\支持({2})/a,a href\javascript:void(0);\ class\comment_vote\ οnclick\voteComment({0},Bury)\反对({3})/a }.FormatWith(comment.ID, comment.Body, comment.DiggCount, comment.BuryCount);
http://www.pierceye.com/news/373589/

相关文章:

  • lol视频网站模板网站定制案例
  • 海兴县网站建设郑州嵌入式培训机构
  • 网站建设怎么记账韩国 电商网站
  • 公司介绍网站怎么做的网站建设的广告语
  • 茂名网站建设托管阿里云 wordpress主机名
  • 投票活动网站怎么做郑州营销型网站制作教程
  • 如何做一个导航网站凡科建设网站怎么保存
  • 哪个网站能叫我做直播回放广州十大猎头公司排名
  • 四川网站建设那家好百度爱采购竞价
  • 怎么做提卡密网站万游wordpress 验证
  • 威宁住房和城乡建设局网站网站介绍怎么写
  • 百度站长平台快速收录wordpress hook机制
  • 衡水提供网站设计公司哪家专业网站维护简单吗
  • 域名购买后 怎么创建网站网站内部优化是什么
  • 做微信公众号第三网站整站外包优化公司
  • 济南协会网站设计团队网站后台建设编辑器
  • 行业查询网站拖式网站建设
  • 网站设计文献网站开发与维护岗位说明书
  • 公司制作网站东莞南城房价
  • 智能建站系统seo网站优化方案
  • 南宁网站建设找建站通成都seo推广
  • 网站做镜像的有什么用建设银行流水网站
  • 湖北网站定制开发价格表宣传片制作协议
  • 开网站要多少钱自己怎样做网站
  • 建设网站的教程免费的wordpress分类在哪设置
  • 电子书网站 跟我学做家常菜800网站建设与维护 教学大纲
  • 河南省住房城乡建设主管部门网站wordpress还有人在用吗
  • 好口碑关键词优化沈阳企业关键词优化
  • 外汇自动跟单网站开发wordpress支持中文
  • 南宁网站建设推广教育类网站框架