读书人

delphi类似return()的返回函数是哪个呢

发布时间: 2012-02-20 21:18:24 作者: rapoo

delphi类似return()的返回函数是哪个呢?
在delphi里用了一下return()结果报错,不知和return()一样的功能是哪一个,多些各位指点一下。

[解决办法]
C:
return(x);

对应Delphi:
Result := x;
exit;
[解决办法]
不是,因为return(x)并不一定出现在函数代码的最后。

如果return(x)出现在函数代码的最后,则对应的就只需要Result:=x;了。

例如:

C/C++ code
int f1(int a){  if (a < 5) return(1);  if (a < 15) return(2);  if (a < 25) return(3);  return(4);}
[解决办法]
用函数名作用和result一样~Result := 4;也就是f1 := 4;
[解决办法]
Delphi里面的方法(Method)有两种类型:
1. 过程(procedure)
2. 函数(function)

两者最大的区别就是:函数需要返回类型,而过程没有。

每个函数里面有一个隐含的变量:Result。需要注意的有两点:
1. Result是局部变量,本身是分配在栈上的。
2. Result需要被初始化(赋值)。

另外,有的时候为了提高速度,可以使用out类型的参数。如:

function GetIntf: IInterface;
->
procedure GetIntf(out intf: IInterface);

读书人网 >.NET

热点推荐