为了从VB.NET函数返回值,可以给“函数名”赋值或使用“返回值”。
我有时会在同一个函数中看到这些混合在一起。就我个人而言,我更喜欢回报。
我的问题是,两者之间的内部差异是什么?
发布于 2009-01-16 16:34:50
这可能没有区别。IIRC,编译器生成的IL将它们都转换为返回语句,除非有额外的_returnValue变量的用法。
在我看来,FunctionName赋值的可读性很差,这是一个坏的VB6习惯的例子。我也更喜欢_returnValue (不是RETVAL)变量方法。
发布于 2010-06-17 03:37:48
不同的是他们做了不同的事情!
“'Return”做了两件事:
函数
函数中的任何代码都不会执行!
‘'Functionname = value’做一件事: 1.它在那个点设置函数的返回值
函数中的其他代码将继续执行,这使其他逻辑能够优化或覆盖函数返回值
差别很大,伙计们。记住,这并不全是关于状态的,它也是关于流程的。
发布于 2009-01-16 16:55:15
我们来看看..。奇怪的是,"functionName =“产生的IL更少?
代码:
Public Function Test() As String
Test = "Test"
End Function
Public Function Test2() As String
Return "Test"
End FunctionIL:
.method public static string Test() cil managed
{
.maxstack 1
.locals init (
[0] string Test)
L_0000: nop
L_0001: ldstr "Test"
L_0006: stloc.0
L_0007: ldloc.0
L_0008: ret
}
.method public static string Test2() cil managed
{
.maxstack 1
.locals init (
[0] string Test2)
L_0000: nop
L_0001: ldstr "Test"
L_0006: stloc.0
L_0007: br.s L_0009
L_0009: ldloc.0
L_000a: ret
}https://stackoverflow.com/questions/451025
复制相似问题