C#中String与StringBuilder的区别
来源:互联网 发布:渡边琢斗 知乎 编辑:程序博客网 时间:2024/05/16 08:22
using System;
using System.Collections.Generic;
using System.Text;
namespace 字符串
{
class Program
{
static void Main( string[] args )
{
//字符串频繁分配内存演示(不推荐)
//以下代码将字符串全总向后移一个值,原来的字符串将会被替换成新加密后的.
//但是效率低下,greetingTxt这个string类型的对象,每次 += 时其实就是将原来的对象删除引用,从而指向新的引用对象.
//这样在循环中,多次对string重新分配内存,堆中将会产生大量的废弃数据等待回收..
string greetingTxt = "Hello from all the guys atWrox Press. ZZZAAA";
for ( int i = 'z' ; i >= 'a' ; i-- )
{
char old = ( char )i;
char new1 = ( char ) (i + 1);
greetingTxt = greetingTxt.Replace( old , new1 );
}
for ( int i = 'Z' ; i >= 'A' ; i-- )
{
126.blog.jp
seowhy.blog.jp
it168.blog.jp
im268.blog.jp
jhbjz.blog.jp
ip138.blog.jp
lybjz.blog.jp
hao123.blog.jp
char old = ( char )i;
char new1 = ( char )( i + 1 );
greetingTxt = greetingTxt.Replace( old , new1 );
}
Console.WriteLine( greetingTxt );
Console.WriteLine( "StringBuilder----------------------------------" );
//StringBuilder 演示
//StringBuilder类只支持一般的字符串删除增加功能,不像String那么的多,但是效率极高
//String通常分配堆空间时,是刚刚好的大小.而StringBuilder一般会比需要的内存分配的多一些
//开发人员也可以指定StringBuilder要分配多少内存
// 2个重要属性 Length 字符串的实际长度 Capacity 字符串存储单元的最大长度(也就是最多可以占多少内存)
//这样,字符串的替换的效率就提高了,因为可以在StringBuilder分配的空余空间中进行操作.
//但是,删除增加字符串时,仍有一定影响,因为这样会涉及到存储大小的变
//通常如果增加一个字符串,超出本对象大小时,对象内存会自动翻版,以保证所需
//第二个参数是指字符对象最大数,通常应设一个尽量可能大的数.以确保不会重新扩展内存
StringBuilder sbStr = new StringBuilder( "Hello from all the guys atWrox Press. " , 150 );
Console.WriteLine( "Hello from all the guys atWrox Press".Length + "字符串大小");
//很明显字符串大小是36,而我们给sb对象分配了150个字符的大小空间,这样我们假定我们append的新字符不会超出150-36
//那么sb对象将不会重新分配内存,我们的效率也就提高了
- C#中String与StringBuilder的区别
- C#中String与Stringbuilder的区别!
- C#中String与StringBuilder的区别
- C#中String与StringBuilder的区别
- C#中String与StringBuilder的区别
- C#中String与StringBuilder的区别
- c# 中string与StringBuilder区别
- C# StringBuilder与String的区别
- c#中string和stringbuilder的区别
- C#中string和stringBuilder的区别
- C#中string和stringBuilder的区别
- C# 中 StringBuilder和String的区别
- C# 中String和 Stringbuilder的区别
- C#中StringBuilder和String的区别
- C# 中String和 Stringbuilder的区别
- C#中string和stringBuilder的区别
- C#中stringBuilder和string的区别
- C#中String和StringBuilder的区别
- Alphabetical Substrings
- 发送带附件的邮件怎样写
- Android WebRTC 音视频开发总结(一)
- MATLAB入门教程
- 使用uiautomator做UI测试
- C#中String与StringBuilder的区别
- Ruby 时间规范化函数strftime使用大全
- linux学习笔记之常用命令(-)
- 匿名管道实现进程信息交换
- 使用boost asio库实现字节数可控的CS通信
- GT-Grid的初学
- 基于Android/IOS视频语音通话商业产品源码转让
- 日期插件
- 求助