VB.NET Tuple

Tuple: type name

A Tuple groups related pieces of data. With it we pass multiple values to a function or return multiple values. The Tuple type is useful for grouping relating values into a small class. It reduces program complexity.

Example

Note

To start, you can create a Tuple by using the VB.NET language's syntax for generic constructs. You must specify each type of the fields in the Tuple at construction time. Also, you must initialize the items to their final values.

Here:In this example, we read the three fields Item1, Item2, and Item3. You can only read these fields. You cannot set them.

Program that uses Tuple: VB.NET, .NET 4.0

Module Module1
    Sub Main()
	' Create new tuple instance with three items.
	Dim tuple As Tuple(Of Integer, String, Boolean) = _
	    New Tuple(Of Integer, String, Boolean)(1, "dog", False)
	' Test tuple properties.
	If (tuple.Item1 = 1) Then
	    Console.WriteLine(tuple.Item1)
	End If

	If (tuple.Item2 = "rodent") Then
	    Console.WriteLine(0)
	End If

	If (tuple.Item3 = False) Then
	    Console.WriteLine(tuple.Item3)
	End If
    End Sub
End Module

Output

1
False

Example 2

Question

How can you use the Tuple type with functions and subroutines in the VB.NET language? First, you can instantiate the Tuple as we did above. The Tuple becomes part of the function signature.

Returning a Tuple value can be declared in much the same way, and is not shown here. Also, this example demonstrates the use of another type (a reference type, StringBuilder) in a Tuple.

StringBuilder
Program that uses Tuple in function: VB.NET, .NET 4.0

Imports System.Text

Module Module1
    Sub Main()
	' Use this object in the tuple.
	Dim builder As StringBuilder = New StringBuilder()
	builder.Append("cat")

	' Create new tuple instance with three items.
	Dim tuple As Tuple(Of String, StringBuilder, Integer) = _
	    New Tuple(Of String, StringBuilder, Integer)("carrot", builder, 3)

	' Pass tuple as parameter.
	F(tuple)
    End Sub

    Sub F(ByRef tuple As Tuple(Of String, StringBuilder, Integer))
	' Evaluate the tuple.
	Console.WriteLine(tuple.Item1)
	Console.WriteLine(tuple.Item2)
	Console.WriteLine(tuple.Item3)
    End Sub
End Module

Output

carrot
cat
3
Programming tip

Tip:There are more secrets to the Tuple type, and these are covered on this site in the C# language article on Tuple.

Tuple

Note:Please scan that article for details about the Tuple implementation, and its conceptual place in software projects.

Summary

The VB.NET programming language

The Tuple type is a clearly useful one in the VB.NET language. It provides a mechanism to create a class with several items in it without a separate type definition. We cannot modify a Tuple already created.

Finally:The Tuple makes it easier to pass or return multiple values from a function. It fills a useful niche.


VB.NET: Collections