VB.Net Tutorial/Class Module/Function — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 15:55, 26 мая 2010
Содержание
- 1 Assign function return value to variables
- 2 Calculates the power of a value, defaults to square
- 3 Call function as a statement
- 4 Define function and call it in a Module
- 5 Define function in a Module
- 6 Finds the maximum of three numbers input
- 7 Function procedure to square a number.
- 8 Functions with different parameter number
- 9 Function with string return
- 10 Pass Double to a function
- 11 Return double type value from Function
- 12 Return string type value from function
- 13 Use function in If statement
Assign function return value to variables
<source lang="vbnet">Module Module1
Function GetBookPrice() As Double GetBookPrice = 49.99 End Function Function GetBookTitle() As String GetBookTitle = "Title" End Function Sub Main() Dim Price As Double Dim Title As String Price = GetBookPrice() Title = GetBookTitle() Console.WriteLine(Price) Console.WriteLine(Title) End Sub
End Module</source>
49.99 Title
Calculates the power of a value, defaults to square
<source lang="vbnet">Public Class Tester
Public Shared Sub Main Console.WriteLine(Power(12)) Console.WriteLine(Power(2,2)) End Sub " use iteration to calculate power Shared Function Power(ByVal base As Integer, _ Optional ByVal exponent As Integer = 2) As Integer Dim total As Integer = 1 Dim i As Integer For i = 1 To exponent total *= base Next Return total End Function " Power
End Class</source>
144 4
Call function as a statement
<source lang="vbnet">Module Module1
Function GetBookPrice() As Double GetBookPrice = 49.99 End Function Function GetBookTitle() As String GetBookTitle = "Title" End Function Sub Main() Console.WriteLine(GetBookPrice()) Console.WriteLine(GetBookTitle()) End Sub
End Module</source>
49.99 Title
Define function and call it in a Module
<source lang="vbnet">Module Module1
Sub ShowBookInformation() Console.WriteLine("A") Console.WriteLine("B") Console.WriteLine("C") Console.WriteLine("D") End Sub Sub GreetInEnglish() Console.WriteLine("Hello, world") End Sub Sub GreetInSpanish() Console.WriteLine("Hola, mundo") End Sub Sub ShowTime() Console.WriteLine("Current time is: " & Now) End Sub Sub Main() ShowTime() GreetInEnglish() GreetInSpanish() ShowBookInformation() End Sub
End Module</source>
Current time is: 11/05/2007 9:29:38 PM Hello, world Hola, mundo A B C D
Define function in a Module
<source lang="vbnet">Module Module1
Const Sale As Decimal = 100 Const TaxRate As Decimal = 0.04D Function GetTotalSale() As Decimal Return Sale * (1 + TaxRate) End Function Sub Main() Dim TotalSale As Decimal = GetTotalSale() Console.WriteLine(TotalSale) End Sub
End Module</source>
104.00
Finds the maximum of three numbers input
<source lang="vbnet">Module Tester
Sub Main() Dim value1, value2, value3 As Double value1 = 1.1 value2 = 2.2 value3 = 3.3 Console.WriteLine( Maximum(value1, value2, value3) ) End Sub Function Maximum(ByVal valueOne As Double, _ ByVal valueTwo As Double, ByVal valueThree As Double) _ As Double Return Math.Max(Math.Max(valueOne, valueTwo), valueThree) End Function
End Module</source>
3.3
Function procedure to square a number.
<source lang="vbnet">Module Tester
Sub Main() Dim i As Integer Console.WriteLine("Number" & vbTab & "Square" & vbCrLf) For i = 1 To 10 Console.WriteLine(i & vbTab & Square(i)) Next End Sub Function Square(ByVal y As Integer) As Integer Return y ^ 2 End Function
End Module</source>
Number Square 1 1 2 4 3 9 4 16 5 25 6 36 7 49 8 64 9 81 10 100
Functions with different parameter number
<source lang="vbnet">Module Module1
Sub OneValue(ByVal Name As String) Console.WriteLine("Hello, " & Name) End Sub Sub TwoValues(ByVal Age As Integer, ByVal Name As String) Console.WriteLine("Age: " & Age) Console.WriteLine("Name: " & Name) End Sub Sub ThreeValues(ByVal Name As String, ByVal Age As Integer, ByVal Salary As Double) Console.WriteLine("Name: " & Name) Console.WriteLine("Age: " & Age) Console.WriteLine("Salary: " & Salary) End Sub Sub Main() OneValue("Mr. Gates") Console.WriteLine() TwoValues(50, "Mr. Gates") Console.WriteLine() ThreeValues("Mr. Gates", 50, 250000.0) End Sub
End Module</source>
Hello, Mr. Gates Age: 50 Name: Mr. Gates Name: Mr. Gates Age: 50 Salary: 250000
Function with string return
<source lang="vbnet">public class Test
public Shared Sub Main Dim strISBN As String = "078212283" Console.WriteLine("The check Digit is " & ISBNCheckDigit("078212283") & ".") Console.WriteLine("The complete ISBN is " & strISBN & ISBNCheckDigit(strISBN) & ".") End Sub Shared Function ISBNCheckDigit(ByVal strISBN As String) As String Dim i, intCheckSum, intCheckDigit As Integer For i = 0 To 8 intCheckSum = intCheckSum + (10 - i) * strISBN.Substring(i, 1) Next intCheckDigit = 11 - (intCheckSum Mod 11) If intCheckDigit = 10 Then Return ("X") Else Return (intCheckDigit.ToString) End If End Function
End class</source>
The check Digit is 3. The complete ISBN is 0782122833.
Pass Double to a function
<source lang="vbnet">public class Test
public Shared Sub Main Dim area As Double area = CalculateAreaFromRadius(100) Console.WriteLine(area) End Sub Shared Function CalculateAreaFromRadius(ByVal radius As Double) As Double Dim radiusSquared As Double radiusSquared = radius * radius Dim result As Double result = radiusSquared * Math.PI Return result End Function
End class</source>
31415.9265358979
Return double type value from Function
<source lang="vbnet">public class Test
public Shared Sub Main Console.WriteLine(ComputeSalesTax(34.34, 0.07)) End Sub Shared Function ComputeSalesTax(ByVal amount As Double, _ ByVal tax As Single) As Double Return amount * tax End Function
End class</source>
2.40380001023412
Return string type value from function
<source lang="vbnet">Public Class Tester
Shared Sub Main() Dim iFirstDay As Integer Dim iLastDay As Integer Dim iCurrentDay As Integer iFirstDay = 2 iLastDay = 6 For iCurrentDay = iFirstDay to iLastDay System.Console.WriteLine(WeekdayName(iCurrentDay)) Next iCurrentDay End Sub Shared Function WeekdayName(ByVal iDayNumber As Integer) As String Dim sWeekdayName As String Select Case iDayNumber Case 1 sWeekdayName = "Sunday" Case 2 sWeekdayName = "Monday" Case 3 sWeekdayName = "Tuesday" Case 4 sWeekdayName = "Wednesday" Case 5 sWeekdayName = "Thursday" Case 6 sWeekdayName = "Friday" Case 7 sWeekdayName = "Saturday" Case Else sWeekdayName = "Invalid Day Number" End Select Return sWeekdayName End Function
End Class</source>
Monday Tuesday Wednesday Thursday Friday
Use function in If statement
<source lang="vbnet">Module Module1
Function GetBookPrice() As Double GetBookPrice = 49.99 End Function Function GetBookTitle() As String GetBookTitle = "Title" End Function Sub Main() If (GetBookPrice() = 49.99) Then Console.WriteLine("The book is 49.99") End If End Sub
End Module</source>
The book is 49.99