String.Format和StringBuilder的效率
直接叫他用强大的武器Reflector了解一下String.Format的方法.
结果他很快就找出相关的代码:
{
if ((format == null) || (args == null))
{
throw new ArgumentNullException((format == null) ? "format" : "args");
}
StringBuilder builder = new StringBuilder(format.Length + (args.Length * 8));
builder.AppendFormat(provider, format, args);
return builder.ToString();
}
很显然,String.Format调用StringBuilder的类,但这也不能说明String.Format比StringBuilder快,也或者说StringBuilder比String.Format更快,
但最少以我们平时的编码的小数量来说,这样的区别可以忽略吧,对于目前的开发应用来说,没必要非得要分出个胜负,看应用场合吧)。
PS:StringBuilder它是首先在创建字符串的时候同时创造一个缓冲区域,在对StringBuilder操作改变字符串数据值时,
StringBuilder会先检查缓冲区的大小是否足够容纳新的字符串数据。如果不够,则缓冲区的大小就会增加预先决定的数量。
由于大幅降低内存配置操作的发生机率,因此当然能有效提升效能。
String.Format和StringBuilder的效率相关推荐
- C# 字符串拼接性能探索 c#中+、string.Concat、string.Format、StringBuilder.Append四种方式进行字符串拼接时的性能...
本文通过ANTS Memory Profiler工具探索c#中+.string.Concat.string.Format.StringBuilder.Append四种方式进行字符串拼接时的性能. 本文 ...
- Java 字符串拼接的三种方式 “+”、“String.format()”、“StringBuilder.append()”,换行拼接“\r\n”
在进行功能开发的时候,会经常需要拼接多个字符串,比如在请求地址上的参数拼接.返回一个信息描述文段需要拼接多个子文段等,那我们常用的解决方式就是以下三种了,第一种也是比较常用简单的,直接用+号进行拼接s ...
- 使用string.Format需要注意的一个性能问题
今天,我在写C#代码时,突然发现一个最熟悉的陌生人 -- string.Format.在写C#代码的日子里,与它朝夕相伴,却没有真正去了解它.只知道在字符串比较多时,用它比用加号进行字符串连接效率更高 ...
- string与stringBuilder的效率与内存占用实测
string与stringBuilder的效率与内存占用实测 using UnityEngine; using System.Diagnostics; using System.Text; using ...
- Java中三种字符串的拼接(++ , String.format , StringBuilder.append)
在Java中 , 对字符串内容的拼接是比较常见的操作 , 通常有三种方式 . 用String类重载'+'运算符进行拼接本质上是调用StringBuilder.append . 用类似C的printf风 ...
- (转)彻底学通string.Format以及IFormattable,IFormatProvider,ICustomFormatter
此文转自喆 喆的博客,原文链接地址:http://www.cnblogs.com/szp1118/archive/2010/07/31/1789148.html 自从使用.net以来就一直都在使用st ...
- C#笔记2__Char类、String类、StringBuilder类 / 正则表达式 /
Char类 String类 字符串的格式化:String类的Format方法 StringBuilder类 以上:百度 or 查手册..... 转载于:https://www.cnblogs.com/ ...
- 【Java5】String类,StringBuilder类,ArrayList类,Object类(toString,equals,hashCode)
文章目录 1.String类:字符串常量在Java中不属于基本数据类型, 而是引用/类类型 1.1 使用:new String(...) 1.2 判断:equals函数是用来比较两个对象是否相等 1. ...
- android 使用String.format(%.2f,67.876)自已定义语言(俄语、西班牙语)会把小数点变为逗号...
市场人员反映公司的app使用系统设置俄语.西班牙语,double数据会把小数点变为逗号.调试一下,是自定义的语言时候(例如,俄语.西班牙语)转换String.format("%.2f&quo ...
最新文章
- 番茄时间管理和四象限工作法完美搭配造就职场神器
- VoltDB介绍——本质:数据保存在内存,充分利用CPU,单线程去锁,底层数据结构未知...
- 海量数据处理_国家重点研发计划“面向异构体系结构的高性能分布式数据处理技术与系统”简介...
- iPhone开源项目汇总(更新版)
- Pattern-No.03 设计模式之策略模式
- zen3架构_全新Zen3架构,AMD发布最新Ryzen5000系列处理器
- java.lang.reflect.Method.getGenericParameterTypes()方法示例
- 基于Element ui 实现输入框只能输入数字并支持千分位
- 【剑指offer】_17正则表达式的匹配
- Unity之如何从fbx提取Animation clip文件
- 压缩JS方法:uglifyjs
- linux cd 命令详解,Linux命令详解之–cd命令
- Keil v5安装和使用
- CIELAB色差计算
- 嵌入式linux开发实战——项目1认识嵌入式系统
- cpu性能天梯图服务器 4210,手机CPU性能天梯图
- Blender图解教程:手把手教你独立游戏开发必备的极简式贴图法
- maven引用公共包_maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程-Fun言...
- 骨传导耳机排名前十名,列举排行靠前的几款骨感耳机
- Android连接WiFi再探索
热门文章
- 最近和朋友微信卖螃蟹有点偏离重心了
- ubuntu12.04安装教程
- 使用selector改变按钮状态
- java servlet异步_厉害了,Servlet3的异步处理机制
- 形容人的内核是什么意思_成语雪泥鸿爪是形容什么的?雪泥鸿爪什么意思?蚂蚁庄园2020年12月10日答案...
- 学计算机要不要护发,脱发平时应该注意什么 四个妙招教你如何防止脱发
- piovt table python_python – Pandas:pivot和pivot_table之间的区别...
- 什么是CharSequence
- 电脑C盘满了怎么办?这两种方法都能解决
- swagger 使用指南