教程-is与as的区别?

Posted fkdelphi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教程-is与as的区别?相关的知识,希望对你有一定的参考价值。

相关资料:

https://www.cnblogs.com/760044827qq/p/3790666.html
https://www.cnblogs.com/yangxuming/p/9181849.html

代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
for i:= 0 to ControlCount - 1 do
begin
if Controls[i] is TEdit then
if (Controls[i] as TEdit).Text <> ‘‘ then
begin
(Controls[i] as TEdit).Text := ‘haha‘;
end;
end;
end;

注意:

//As用于将一个对象转换为另一个对象
procedure BtnClick(Sender:TObject);
begin
(Sender as TButton).Caption := ‘Clicked‘;
end;

//对于对象填充接口的转换, 必须用As进行
(HTTPRIO as IExp).GetConnection;

//As不能用于数据类型的转换, 下面的代码是错误的:
var
i: Integer;
s: string;
begin
s := (i as string);
end;
//正确写法是:
s := string(i);

 

以上是关于教程-is与as的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 铸造与 as 和 Supports 的区别

AS3中 is,as,typeof的区别

Oracle中的“过程名称IS”和“过程名称AS”有啥区别?

oracle存储过程中is和as区别

oracle存储过程中is和as的区别

SQL语言中 like is = 有啥区别啊?