Usando dados relacionados armazenados em uma matriz bidimensional

Estou tentando entender matrizes e ler sobre o assunto, mas grande parte da literatura não é fácil de entender quando você apenas começou a programar e não há ninguém que você possa pedir para explicar. Esta é minha matriz bidimensional:

        'Declare 2-diensional array of Strings
    Dim cars(,) As String =
    New String(,) {{"BMW", "Coupe", "Reg:2015", "5 Door"},
           {"Ford", "Focus", "Reg:2015", "3 Door"},
           {"Land Rover", "Discovery", "Reg:2014", "5 Door"},
           {"Vauxhall", "Astra", "Reg:2014", "3 Door"},
           {"SEAT", "Ibiza", "Reg:2013", "5 Door"}}

    ' Get bounds of the array.
    Dim bound0 As Integer = cars.GetUpperBound(0)
    Dim bound1 As Integer = cars.GetUpperBound(1)

    ' Loop over all elements.
    For i As Integer = 0 To bound0
        For x As Integer = 0 To bound1
            ' Get element.
            Dim s1 As String = cars(i, x)
            Console.ForegroundColor = ConsoleColor.Green
            Console.Write(s1 & ", ")
        Next
        Console.WriteLine()
    Next
    Console.ReadKey()
    Console.WriteLine("Please enter the name of the record you wish to view")
    Dim s = Console.ReadLine()
    Dim value As String = Array.Find(cars, Function(x) (x.StartsWith(s)))
    Console.WriteLine(value)
    Console.ReadKey()

Esta é a linha que está causando o problema

Dim value As String = Array.Find(cars, Function(x) (x.StartsWith(s)))

O Visual Studio sugere que o erro ocorre porque "Tipo (s) de dados do (s) parâmetro (s) do tipo não podem ser inferidos a partir desses argumentos. A especificação explícita do (s) tipo (s) de dados pode corrigir esse erro". Não consigo entender o que esse erro significa. Alguém pode, por favor, explicar como se estivesse conversando com uma criança de 10 anos ou talvez um site que possa me ajudar a entender esse problema. obrigado

questionAnswers(1)

yourAnswerToTheQuestion