字符串连接

“+”

使用 + 运算符串联字符串文本或字符串常量时,编译器会创建一个字符串,串联不在运行时发生。无论涉及到多少个字符串,都不会有运行时性能开销。 但字符串变量只能在运行时串联。

String

String 对象串联操作总是用现有字符串和新数据创建新的对象。

String.Concat 方法http://msdn.microsoft.com/zh-cn/library/xb636w5t.aspx

String.Format 方法http://msdn.microsoft.com/zh-cn/library/xh1dzhdx.aspx 

StringBuilder

StringBuilder 对象维护一个缓冲区,以便容纳新数据的串联。如果有足够的空间,新数据将被追加到缓冲区的末尾;否则,将分配一个新的、更大的缓冲区,原始缓冲区中的数据被复制到新的缓冲区,然后将新数据追加到新的缓冲区。默认容量是16。

StringBuilder.Append 方法http://msdn.microsoft.com/zh-cn/library/ds86a594(v=vs.100).aspx

StringBuilder.AppendFormat 方法http://msdn.microsoft.com/zh-cn/library/2t712y91(v=vs.100).aspx

StringBuilder.AppendLine 方法 http://msdn.microsoft.com/zh-cn/library/ee005y8y(v=vs.100).aspx

 

String 或 StringBuilder 对象的串联操作的性能取决于内存分配的发生频率。String 串联操作每次都分配内存,而 StringBuilder 串联操作仅当 StringBuilder 对象缓冲区太小而无法容纳新数据时才分配内存。因此,如果串联固定数量的 String 对象,则 String 类更适合串联操作。这种情况下,编译器甚至会将各个串联操作组合到一个操作中。如果串联任意数量的字符串,则 StringBuilder 对象更适合串联操作;例如,某个循环对用户输入的任意数量的字符串进行串联。

转载于:https://www.cnblogs.com/jiniu/archive/2013/02/16/concatenate_multiple_strings.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值