可以在Visual Basic中创建命名元组的通用列表吗?

时间:2019-03-01 10:19:41

标签: vb.net

在C#(7+)中,我可以声明(Better naming in Tuple classes than "Item1", "Item2"

var myList = new List<(int first, int second)>();

以及稍后参考的项目:

var a = myList[0].second;

VB.NET中是否有等效的语法?

修改 根据安德鲁·莫顿(Andrew Morton)的回答,等效语法为:

Dim myList = New List(Of (first As Integer, second As Integer))
Dim a = myList(0).second

1 个答案:

答案 0 :(得分:5)

是的,请参见Tuples (Visual Basic)

Dim q As New List(Of (EventDate As Date, Name As String, IsHoliday As Boolean))
q.Add((EventDate:=#2019-01-01#, Name:="New Year's Day", IsHoliday:=True))
q.Add((New DateTime(2019, 6, 21), "Summer solstice", False))

Console.WriteLine(q(0).Name) ''outputs "New Year's Day"
Console.WriteLine(q(1).IsHoliday) ''outputs False

(Visual Studio 2017及更高版本。)