Imports System.Collections.Generic
Private r As New Random()
Dim countries() As Country = {New Country With {.Name = "United States of America", .Capital = "Washington D.C."}, _
New Country With {.Name = "Canada", .Capital = "Ottawa"}, _
New Country With {.Name = "Mexico", .Capital = "Mexico City"}}
Dim randomIndexOrder As IEnumerable(Of Integer) = Enumerable.Range(0, countries.Length - 1).OrderBy(Function(i) r.Next())
For Each index As Integer In randomIndexOrder
Dim currentCountry As Country = countries(index)
Console.WriteLine("The country is {0}, what is the capital?", currentCountry.Name)
Dim response As String = Console.ReadLine()
If response.Equals(currentCountry.Capital, StringComparison.OrdinalIgnoreCase) Then
Console.WriteLine("Correct!")
Console.WriteLine("Incorrect. The capital of {0} is {1}", currentCountry.Name, currentCountry.Capital)
Public Property Name As String
Public Property Capital As String