Matthew的Blog

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::

using System.Text;

String类的不可改变性使它更像一个值类型而不是一个引用类型。其副作用是每次执行字符操作时,都会创建一个新的String对象。StringBuilder 类解决了对字符串进行重复修改的过程中创建大量对象的问题。

StringBuilder 类的一些属性与方法

 

--------------------------------------------------------------------------------

Length 属性并不是只读的。
StringBuilder sb=new StringBuilder("I live the language");
Console.WriteLine(sb.ToString( )); 
sb.Length = 6;
//Displays "I live"
Console.WriteLine(sb.ToString( ));

Capacity 属性
描述:当前为实例分配的字符数量。默认容量是16,如果将一个字符串作为参数提供给构造函数,容量以最接近 2 的幂的值。

MaxCapacity 属性
描述:这个实例中可以被分配的字符最大数量。

Append(  ) 方法
描述:追加给定值的字符串表示。
StringBuilder sb=new StringBuilder( );
Console.WriteLine( sb.Capacity+"\t"+sb.Length );
sb.Append ( 'a' , 17 )
Console.WriteLine( sb.Capacity+"\t"+sb.Length );
16      0 <== 输出
32      17

EnsureCapacity( Int capacity )  方法
描述:如果当前容量小于指定容量,内存分配会增加内存空间以达到指定容量。

Replace( Char oldchar,Char newchar )  方法
描述:用newchar替换oldchar。

Replace( String oldstring,String newstring ) 方法
描述:用newstring替换oldstring。

Replace( Char oldchar,Char newchar,Int  startpos,Int count ) 方法
描述:从startpos到count-1之间用newchar替换oldchar。

Replace( String oldstring,String newstring,Int startpos,Int count ) 方法
描述:从startpos到count-1之间用newstring替换oldstring。

ToString( ) 方法
StringBuilder sb=new StringBuilder( "I live this game" );
String s1=sb.ToString( );         //Displays "I live this game"
String s2=sb.ToString(3,4);     //Displays "live"
在这里第二个ToString( )方法调用了String类的Substring( )方法
public String ToString( int startIndex,int length )
{
  return m_StringValue.Substring( startIndex,length );
}

 

posted on 2006-04-29 13:27 matthew 阅读(329) 评论(0)  编辑 收藏 引用 所属分类: C#编程
只有注册用户登录后才能发表评论。