Вы можете создать лямбда-выражение, которое принимает строковый массив и возвращает True, если оно удовлетворяет условию:
Dim isValidArray = Function(strg as String()) _
wert >= Integer.Parse(strg(0)) AndAlso _
wert < Integer.Parse(strg(0)) + 5 AndAlso _
sk = Integer.Parse(strg(1))
Я бы также изменил сигнатуру вашего метода, чтобы принимать список строкового массива вместо списка какого-либо массива. Окончательный код будет:
Function getit(ByVal wert As Integer, ByVal sk As Integer, _
ByVal list As List(Of String())) As String
''//Insert above lambda here
''//Get first valid item or default (Nothing) if no valid item
Dim validArray As String() = list.FirstOrDefault(isValidArray)
If validArray IsNot Nothing
Return validArray(2)
Else
Return "Null"
End If
End Function