VB.Net Tutorial/Class Module/Function

Материал из VB Эксперт
Версия от 15:55, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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