VB.NET 没有 return 值的函数,转换为 C# 会出现 return 错误?
VB.NET Function with no return value, converted to C# gets return errors?
正在转换一些 VB.NET 代码。一些静态函数对一些通过引用传递的参数做一些工作,但不 return 任何东西。 VB.NET 函数中到底发生了什么,它们可以在没有 return 值的情况下存在并且不会出现任何调试错误?布尔值会怎样?
Overloads Shared Function ExampleMethod(ByRef buffer1() as Byte, ByRef buffer2() as Byte) As Boolean
'do stuff here, no return types
End Function
Overloads Shared Function ExampleMethod(ByRef buffer1() as Byte, ByRef buffer2 as Byte) As Boolean
'do stuff here, no return types
End Function
见https://msdn.microsoft.com/en-us/library/sect4ck6.aspx
使用 VB.Net 你可以 return 通过 或者 使用 Return
语句,或者为函数名称赋值,例如:
ExampleMethod = true
Exit Function
End Function
接着说:
If you use Exit Function without assigning a value to name, the procedure returns the default value for the data type that's specified in returntype. If returntype isn't specified, the procedure returns Nothing, which is the default value for Object.
C# 更严格一些!
正在转换一些 VB.NET 代码。一些静态函数对一些通过引用传递的参数做一些工作,但不 return 任何东西。 VB.NET 函数中到底发生了什么,它们可以在没有 return 值的情况下存在并且不会出现任何调试错误?布尔值会怎样?
Overloads Shared Function ExampleMethod(ByRef buffer1() as Byte, ByRef buffer2() as Byte) As Boolean
'do stuff here, no return types
End Function
Overloads Shared Function ExampleMethod(ByRef buffer1() as Byte, ByRef buffer2 as Byte) As Boolean
'do stuff here, no return types
End Function
见https://msdn.microsoft.com/en-us/library/sect4ck6.aspx
使用 VB.Net 你可以 return 通过 或者 使用 Return
语句,或者为函数名称赋值,例如:
ExampleMethod = true
Exit Function
End Function
接着说:
If you use Exit Function without assigning a value to name, the procedure returns the default value for the data type that's specified in returntype. If returntype isn't specified, the procedure returns Nothing, which is the default value for Object.
C# 更严格一些!