Delphi 2009 之 TStringBuilder 类[6]: Equals


unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;



type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



//TStringBuilder.Equals 判断对象是否相同

procedure TForm1.Button1Click(Sender: TObject);

var

  sb1,sb2: TStringBuilder;

  b: Boolean;

begin

  sb1 := TStringBuilder.Create('abc');

  sb2 := TStringBuilder.Create('abc');



  b := sb1.Equals(sb2);

  ShowMessage(BoolToStr(b, True)); {True}



  sb2.Length := 0;

  b := sb1.Equals(sb2);

  ShowMessage(BoolToStr(b, True)); {False}



  sb1.Free;

  sb2.Free;

end;



//此例中的 sb2 都没有产生新的对象, 只是指向了 sb1

procedure TForm1.Button2Click(Sender: TObject);

var

  sb1,sb2: TStringBuilder;

begin

  sb1 := TStringBuilder.Create('abc');



  sb2 := sb1;

  sb1.Append('123');

  ShowMessage(sb2.ToString); {abc123}



  sb2 := sb1.Replace('123', ' 123');

  ShowMessage(sb1.ToString); {abc 123}

  ShowMessage(sb2.ToString); {abc 123}



  ShowMessage(BoolToStr(sb2.Equals(sb1), True)); {True}



  sb1.Free;

end;



end.


 
   

你可能感兴趣的:(StringBuilder)