字符串拼接主要有以下几种方法:

  1. + : 加号
  2. String.Format() : 字符串格式化
  3. StringBuilder.Append()

说明

  1. 对于少量固定的字符串拼接,如string str = "a" + "b" + "c",则csc编译器会优化成 str = String.Concat("a", "b", "c"); 不会创建多个字符串。
    如果写成 string str = "a"; s += "b"; s += "c"; 则会多创建3个新字符串。
  2. String.Format()
    用Reflector查看String.Format源码,内部调用的是StringBuilder.
    public static String Format(
    IFormatProvider provider, String format, params Object[] args) {
    if (format == null || args == null)
    throw new ArgumentNullException((format==null)?"format":"args");
    StringBuilder sb = new StringBuilder(format.Length + args.Length * );
    sb.AppendFormat(provider,format,args);
    return sb.ToString();
    }
  3. StringBuider类可以指定内存空间的大小,字符串较少时,可以使用Stirng.Format()代替;

对于少量的字符串操作时可以使用"+"或者String.Format(); 当操作大量字符串时,比如在循环体内,最好使用StringBuider.

C#代码优化—字符串拼接效率比较的更多相关文章

  1. Golang拼接字符串的5种方法及其效率_Chrispink-CSDN博客_golang 字符串拼接效率 https://blog.csdn.net/m0_37422289/article/details/103362740

    Different ways to concatenate two strings in Golang - GeeksforGeeks https://www.geeksforgeeks.org/di ...

  2. Java字符串拼接效率测试

    测试代码: public class StringJoinTest { public static void main(String[] args) { int count = 10000; long ...

  3. list 字符串拼接效率实验

    ist 字符串拼接有多种方法,我就其中常用三种做了实验,实验代码如下: 第一次是为了初始化静态方法,后面的才是效率比较. 结果如下: StringUtils join 方法用的是StringBuild ...

  4. python 字符串拼接效率打脸帖

    https://www.cnblogs.com/chenjingyi/p/5741901.html 这篇博客写的好,字符串并不是+ 效率就一定比 "%" % ('a') 就低. 按 ...

  5. Java字符串拼接效率对比

    1.来自:http://blog.csdn.net/Zen99T/article/details/51255418 2.来自:http://blog.csdn.net/kimsoft/article/ ...

  6. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

  7. 谈JavaScript组合拼接字符串的效率 --转载

    JavaScript组合拼接字符串的效率.在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出.比如写脚本控件时控制整个控件的外观的HTML标签输出,比如AJAX里得到服务器端的回传值 ...

  8. C#的StringBuilder 以及string字符串拼接的效率对照

    今天公司一个做Unity3d的人在说字符串拼接的一个效率问题,他觉得string拼接会产生新的一个内存空间,假设不及时回收会产生大量的碎片,特别是在Unity3d这样一个Updata环境下,由于每一帧 ...

  9. C#三种字符串拼接方法的效率对比

    C#字符串拼接的方法常用的有:StringBuilder.+.string.Format.List<string>.使用情况不同,效率不同. 1.+的方式 string sql = &qu ...

随机推荐

  1. 2、Python特征

    Python特征 Python编程语言中的定位 脚本语言 高阶动态编程语言 简单易学 Python是一种代表简单主义思想的语言.Python的这种伪代码本质是它最大的优点之一.它使你能够专注于解决问题 ...

  2. Populating Next Right Pointers in Each Node leetcode java

    题目: Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...

  3. 移动端 h5开发相关内容总结——CSS篇

    1.移动端开发视窗体的加入 h5端开发以下这段话是必须配置的 <meta name="viewport" content="width=device-width, ...

  4. 微信小程序通过api接口将json数据展现到小程序示例

    这篇文章主要介绍了微信小程序通过api接口将json数据展现到小程序示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧实现知乎客户端的一个重要知识前提就是,要知道怎么通过 ...

  5. JAVA-安装apache tomcat服务器

    下载地址:http://tomcat.apache.org/ 选择需要下载的版本 下载windows service installer,找到文件双击进行安装 next i agree next ne ...

  6. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  7. ueditor插入自定义内容和样式

    UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点   通过UEditor提供的API接口可以很方便的读写操作内容并设置编辑器里的样式   页 ...

  8. 转:C++操作mysql方法总结(1)

    原文:http://www.cnblogs.com/joeblackzqq/p/4332945.html C++通过mysql的c api和通过mysql的Connector C++ 1.1.3操作m ...

  9. jQuery对象

    $(document).ready(function(){ //第二种获取方法,通过标签的名<h2>Dom来获取 var h1 = document.getElementsByTagNam ...

  10. ASP入门(二十一)- 如何自己获取 ADO 连接字符串

    1.新建一个文本文件,并将文件名修改为[ado.udl] 注意 如果不显示扩展名,请在资源管理器的[查看 | 选项]对话框中去掉"隐藏已知文件类型的扩展名"勾就可以了. 2.双击这 ...