Bueno para que se te sea más facil te recomiendo hacer una clase, como no tenia nada que hacer
te la hice:
Public Class Exam
Private _curso As String
Private _nota As Double
Private _fecha As Date
Public Sub New(ByVal Curso As String, ByVal Nota As Double, ByVal Fecha As Date)
_curso = Curso
_fecha = Fecha
_nota = Nota
End Sub
Public Overrides Function ToString() As String
Return "Curso: " & _curso & vbCrLf & "Nota:" & _nota & vbCrLf & "fecha:" & _fecha & vbCrLf & vbCrLf
End Function
Public Property Curso() As String
Get
Return _curso
End Get
Set(ByVal _Enter As String)
_curso = _Enter
End Set
End Property
Public Property Nota() As Double
Get
Return _nota
End Get
Set(ByVal _Enter As Double)
_nota = _Enter
End Set
End Property
Public Property Fecha() As Date
Get
Return _fecha
End Get
Set(ByVal _Enter As Date)
_fecha = _Enter
End Set
End Property
End Class
Bueno con lo otro es más facil como te dije anteriormente al implementar una clase
''CREAEMOS UNA LISTA DE EXAMENES
Dim x As New List(Of Exam)
''AÑADIMOS 3 EXAMENES CON SU RESPECTIVA INFORMACIÓN
x.Add(New Exam("Curso 1", 5.2, Now))
x.Add(New Exam("Curso 2", 7.5, Now))
x.Add(New Exam("Curso 2", 9.2, Now))
''EDITAMOS LA NOTA DEL CURSO 1 EL EXAMEN QUE SACO 5.2 LO PASAMOS A 10
x.Item(0).Nota = 10
Dim CursoABuscar = "Curso 2"
''RECORREMOS TODOS LOS EXAMENES BUSCANDO LOS QUE PERTENECEN AL CURSO "CURSO 2"
For Each Examen As Exam In x
If Examen.Curso = CursoABuscar Then
MsgBox(Examen.ToString, Nothing, Examen.Curso)
End If
Next
Espero que te sirva...