C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Formal parameter: Area receives one formal parameter of type Double. Specifying the type of the parameter is optional but advised.
ByVal, ByRefReturns: The Function returns a value of type Double. After the formal parameter list, the keywords "As Double" indicate the return type.
VB.NET program that demonstrates Function
Module Module1
''' <summary>
''' Get area of a circle with specified radius.
''' </summary>
Function Area(ByVal radius As Double) As Double
Return Math.PI * Math.Pow(radius, 2)
End Function
Sub Main()
Dim a As Double = Area(4.0)
Console.WriteLine(a)
End Sub
End Module
Output
50.2654824574367
VB.NET program that uses Function, no argument
Module Module1
Function GetID() As Integer
' This function receives no arguments.
Return 100
End Function
Sub Main()
' Use GetID function.
Console.WriteLine(GetID())
End Sub
End Module
Output
100
Info: Properties are meant to replace getters and setters. If you have a Sub that sets a value, it can be changed to be a Property.
Tip: At the level of the implementation, Properties are similar to Functions and Subs.
PropertyAnd: If you want to, you can change all Properties on your types to Functions and Subs. You won't get in trouble for doing this.
But: On existing types, such as those in the .NET Framework, you must use the Property syntax if the member is a Property.
VB.NET program that compares Property to Function
Module Module1
ReadOnly Property ID As Integer
Get
Return 100
End Get
End Property
Function GetID() As Integer
Return 100
End Function
Sub Main()
' Use property and function.
Console.WriteLine("PROPERTY: {0}", ID)
Console.WriteLine("FUNCTION: {0}", GetID())
End Sub
End Module
Output
PROPERTY: 100
FUNCTION: 100