Language Basics VB.Net

Imports System
Public Class MainClass
    Shared Sub Main(ByVal args As String())
        ' create an instance of the structure
        Dim loc1 As New Location(200, 300)
        ' display the values in the structure
        Console.WriteLine("Loc1 location: {0}", loc1)
        ' invoke the default constructor
        Dim loc2 As New Location( )
        Console.WriteLine("Loc2 location: {0}", loc2)
        ' pass the structure to a method
        myFunc(loc1)
        ' redisplay the values in the structure
        Console.WriteLine("Loc1 location: {0}", loc1)
    End Sub
         ' method takes a structure as a parameter
    Shared Public Sub myFunc(ByVal loc As Location)
        ' modify the values through the properties
        loc.XVal = 50
        loc.YVal = 100
        Console.WriteLine("Loc1 location: {0}", loc)
    End Sub 'myFunc
End Class
Public Structure Location
    ' the Structure has private data
    Private myXVal As Integer
    Private myYVal As Integer
    ' constructor
    Public Sub New( _
       ByVal xCoordinate As Integer, ByVal yCoordinate As Integer)
        myXVal = xCoordinate
        myYVal = yCoordinate
    End Sub 'New
    ' property
    Public Property XVal( ) As Integer
        Get
            Return myXVal
        End Get
        Set(ByVal Value As Integer)
            myXVal = Value
        End Set
    End Property
    Public Property YVal( ) As Integer
        Get
            Return myYVal
        End Get
        Set(ByVal Value As Integer)
            myYVal = Value
        End Set
    End Property
    ' Display the structure as a String
    Public Overrides Function ToString( ) As String
        Return [String].Format("{0}, {1}", xVal, yVal)
    End Function 'ToString
End Structure 'Location