`

C#三种字符串拼接效率

    博客分类:
  • C#
 
阅读更多

字符串拼接主要包括三类:+,String.Format(),StringBuilder.Append()

1)对于少量固定的字符串拼接,如string s= "a" + "b" + "c",系统会优化成s= String.Concat("a","b","c"),不会新建多个字符串。

如果写成string s="a"; s +="b"; s+="c";则会创建三个新的字符串。

2)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 sb = new StringBuilder(format.Length + args.Length * 8);
            sb.AppendFormat(provider,format,args);
            return sb.ToString();
   }

可见,它和StringBuilder有着相似的效率,比用“+”的拼接方式高效,并且代码易于阅读。

string s= String.Format("{0}{1}{2}","a","b","c");

3)StringBuilder可以指定内存空间的容量,但可能需要进行数据类型转化。字符串较少时,可以使用String.Format()代替。

4)少量的字符串操作时,可以使用“+”或者String.Format();大量的字符串操作时,比如在循环体内,必须使用StringBuilder.Append()。

来源:http://hi.baidu.com/pearless/item/2c36a4c2f8bb0e56ac00ef79

分享到:
评论

相关推荐

    字符串拼接工具

    总的来说,"字符串拼接工具"是简化字符串处理工作流程的有效辅助,它通过自动化和批量操作,节省了开发者的宝贵时间和精力,提高了工作效率。而"StrConnect"这个名字很可能就是这个工具的执行文件名,可能是一个可...

    详解C#中的字符串拼接@ $

    本文将详细介绍C#中两种特殊的字符串拼接方式:使用@符号和使用$符号。这两种符号分别提供了不同的字符串处理方式,有助于开发者更方便、更清晰地编写代码。 首先,我们来探讨@符号的使用。@符号用在字符串的开头,...

    C#字符串类型处理总结

    字符串对象在C#中是不可变的,这意味着每次对字符串进行操作时,都会创建一个新的字符串对象,而非修改原对象。下面我们将深入探讨C#中常用的字符串处理方法。 1. **字符串比较**:使用`CompareTo`方法可以比较两个...

    C#字符串和正则表达式参考手册

    在实际开发中,结合`StringBuilder`类处理大量字符串拼接,以及利用正则表达式的强大功能进行数据验证和清洗,都将使你的代码更加高效和专业。通过深入阅读《C#字符串和正则表达式参考手册》,你将能够更全面地理解...

    C#资源\字符串格式常用资源

    总结,C#提供了丰富的字符串格式化工具,使得在处理文本数据时能够灵活控制输出格式,无论是简单的文本拼接,还是复杂的数值和日期格式化,都能得心应手。通过熟练掌握这些技术,可以提升代码的可读性和维护性,提高...

    C#字符串总结

    在这个例子中,`StringBuilder`在循环内部进行字符串拼接,直到循环结束才一次性转换成`string`对象,大大提高了效率。 在处理字符串时,应根据具体需求选择合适的方式。如果字符串操作很少,且不涉及多次修改,...

    C#实现字符串处理升级版帮助类cs代码

    4. **可变字符串**:C# 中的 `StringBuilder` 类能够有效处理大量字符串拼接的情况,在需要频繁修改的情况下比直接使用字符串拼接效率更高。 5. **正则表达式**:C#提供了强大的正则表达式库,可以通过正则表达式...

    C#批量删除字符串中间的字符串UpdateContent.rar

    总结,C#批量删除字符串中间的字符串主要涉及字符串操作和正则表达式,通过找到起始和结束字符串的位置,然后进行截取和拼接,或使用正则表达式进行匹配和替换,可以实现这个功能。在处理大量数据时,应考虑性能优化...

    C#字符串处理工具【CS】

    《C#字符串处理工具——高效便捷的编程辅助》 C#字符串处理工具是一款基于C#编程语言开发的小型实用程序,专为Windows操作系统设计,无需安装即可直接运行,极大地简化了用户对字符串的操作和管理。它集合了多种...

    C#字符串和正则表达式参考手册4

    在本篇内容中,我们将基于《C#字符串和正则表达式参考手册4》这一资料进行深入探讨,重点讲解如何在Visual Studio 2008环境中有效地使用C#中的字符串处理与正则表达式功能。这不仅对于初学者来说是一份宝贵的资源,...

    C# 利用StringBuilder提升字符串拼接性能的小例子

    使用`StringBuilder.AppendFormat`方法后,字符串拼接的过程不再涉及频繁的内存分配,从而极大地提高了效率。在案例中,原本需要30秒完成的8000行数据处理,现在仅需2秒,性能提升了几十倍。 `StringBuilder`还提供...

    C#字符串和正则表达式参考手册.zip

    4. **字符串拼接**:可以使用`+`运算符或`StringBuilder`类来高效地连接多个字符串。 ### 正则表达式(Regular Expressions) 正则表达式是一种强大的文本模式匹配工具,用于搜索、替换或验证字符串是否符合特定的...

    C#字符串处理技术

    - **连接字符串**:可以使用`+`运算符或`String.Concat`方法将多个字符串拼接在一起。 - **索引访问**:C#字符串支持索引访问,如`str[0]`获取第一个字符,但注意字符串是不可变的,所以不能通过索引进行修改。 -...

    合并一维字符串数组并去重 C#

    在C#编程中,合并一维字符串数组并去重是一个常见的任务,特别是在处理数据集合或者进行数据整合时。本文将详细讲解如何实现这个功能,并提供相关的代码示例。 首先,我们要理解C#中的数组和字符串的基本概念。数组...

    C#中字符串操作总结借鉴.pdf

    为了处理大量字符串拼接或修改的情况,C#引入了`StringBuilder`类。`StringBuilder`提供了一种更有效的方法来构建和修改字符串,因为它在内部维护一个可变的字符数组,而不是每次都创建新的对象。因此,当你需要多次...

    C#字符串格式化软件

    1. **字符串拼接**:在C#中,可以使用`+`运算符或者`String.Concat()`方法来连接两个或多个字符串。更高效的方法是使用`StringBuilder`类,特别是在需要频繁拼接大量字符串时。 2. **字符串格式化表达式**:C#提供...

    cs代码-字符串拼接的各种方法: stringbuilder方法效率最好,可作为大数据量拼接字符串所用。

    本文将深入探讨字符串拼接的各种方法,并重点介绍效率最佳的StringBuilder类,适用于处理大数据量的字符串拼接场景。 首先,我们通常使用的字符串(String)类型在C#中是不可变的。这意味着每次对字符串进行修改,...

    C#字符串和正则表达式参考手册 pdf

    《C#字符串和正则表达式参考手册》是学习C#编程中不可或缺的资源,它深入探讨了在C#环境中如何有效地操作字符串以及利用正则表达式进行模式匹配和数据处理。下面,我们将对其中的核心知识点进行详尽的阐述。 一、C#...

    C#源代码-字符串的学习.zip

    这个压缩包“C#源代码-字符串的学习.zip”显然包含了与C#字符串操作相关的源代码示例,旨在帮助学习者深入理解这一关键概念。让我们通过讨论一些核心的C#字符串知识点来展开这个主题。 首先,字符串在C#中是不可变...

    javascript中字符串拼接需注意的问题

    本篇文章将深入探讨JavaScript中的字符串拼接,并对比C#中的StringBuilder,以揭示两者在处理大量字符串拼接时的效率差异。 首先,我们要明白在JavaScript中,字符串是不可变的(immutable)。这意味着每次对字符串...

Global site tag (gtag.js) - Google Analytics