ToString is often useful in VB.NET programs. It allows us to provide a custom ToString function on a VB.NET class. By using an Overrides ToString function, we specify how an instance renders itself as a String.
Example. To start, this program introduces the Perl class. This class, by default, inherits from the Object class. On the Object class (not shown) there exists an Overridable Function ToString.

Note:The Perl class here provides the implementation that overrides that function.

Thus:When Perl is used as an Object, its custom ToString implementation is still used.

VB.NET program that overrides ToString

Module Module1

    Class Perl

	Dim _a As Integer
	Dim _b As Integer

	Public Sub New(ByVal a As Integer, ByVal b As Integer)
	    _a = a
	    _b = b
	End Sub

	Public Overrides Function ToString() As String
	    Return String.Format("[{0}, {1}]", _a, _b)
	End Function

    End Class

    Sub Main()
	Dim p As Perl = New Perl(2, 3)
    End Sub

End Module


[2, 3]
Console.WriteLine call. When we construct the Perl instance, its fields are set to 2 and 3. Then, it is passed to the Console.WriteLine subroutine as an Object. In Console.WriteLine, the ToString function is called on that Object.

Note:The Overrides Function ToString implementation shown above is then found, and it is used to format the output.

Console.Write, WriteLine, ReadLine Examples
Discussion. In the VB.NET language, we see Overridable functions and Overrides functions. These are semantically equivalent to virtual and override methods in the C# language. They have the same meaning.

Opinion:The term "overridable" may be a clearer description of a virtual function. The term virtual is less obvious.

Function ExampleSub Procedure Examples
Summary. We looked at how you can provide the ToString function in your VB.NET program. This function returns a String. You can use any logic you wish to construct the String. It should use the Overrides modifier.

And:This will cause it to be used as the implementation for less derived type references such as Object.