Grazie ancora alka, e scusa se ti scrivo delle cose senza senso
sono nuovo nella oop e purtroppo qualche concetto non l'ho ancora bene assimilato.
Allora ho seguito il tuo prezioso consiglio, ho modificato il codice così:

codice:
Imports Microsoft.VisualBasic

Public Class clsEscursionista

    'Campi della classe
    Private _strNome As String
    Private _strGruppo As String

    'Proprietà della classe
    Public Property Nome() As String
        Get
            Return _strNome
        End Get
        Set(ByVal value As String)
            _strNome = value
        End Set
    End Property

    Public Property Gruppo() As String
        Get
            Return _strGruppo
        End Get
        Set(ByVal value As String)
            _strGruppo = value
        End Set
    End Property
End Structure

Public Class ClsGestioneEscursioni

    'Campi della classe
    Private _dtaData As Date = Nothing
    Private _strLocalita As String = ""
    Private _strCavita As String = ""
    Private _clsEscursionisti() As clsEscursionista = Nothing
    Private _strRelazione As String = ""


    'Proprietà della classe
    Public Property Data() As Date
        Get
            Return _dtaData
        End Get
        Set(ByVal value As Date)
            _dtaData = value
        End Set
    End Property

    Public Property Localita() As String
        Get
            Return _strLocalita
        End Get
        Set(ByVal value As String)
            _strLocalita = value
        End Set
    End Property

    Public Property Cavita() As String
        Get
            Return _strCavita
        End Get
        Set(ByVal value As String)
            _strCavita = value
        End Set
    End Property

    Public Property Escursionisti(ByVal Indice As Integer) As clsEscursionista
        Get
            Return _clsEscursionisti(Indice)
        End Get
        Set(ByVal value As clsEscursionista)
            _clsEscursionisti(Indice) = value
        End Set
    End Property

    Public Property Relazione As String
        Get
            Return _strRelazione
        End Get
        Set(ByVal value As String)
            _strRelazione = value
        End Set
    End Property

End Class
e lo uso così:

codice:
	Dim escursione As New ClsGestioneEscursioni()

	Dim strData = "#12/24/2010#"
	escursione.Data = Date.Parse(strData)
	escursione.Localita = "Località"
	escursione.Cavita = "Cavità"
	escursione.Escursionisti(0).Nome = "Nome1"
	escursione.Escursionisti(0).Gruppo = "Gruppo1"
	escursione.Escursionisti(1).Nome = "Nome2"
	escursione.Escursionisti(1).Gruppo = "Gruppo2"
	escursione.Escursionisti(2).Nome = "Nome3"
	escursione.Escursionisti(2).Gruppo = "Gruppo3"
	escursione.Relazione = "fatto un bel giro e trovati nuovi rami da esplorare ulteriormente in prossime escursioni"
ora mi viene restituito questo errore:

Riferimento a un oggetto non impostato su un'istanza di oggetto.
Riga 106: Public Property Escursionisti(ByVal Indice As Integer) As clsEscursionista
Riga 107: Get
Riga 108: Return _clsEscursionisti(Indice) <--- l'errore è in questa riga
Riga 109: End Get
Riga 110: Set(ByVal value As clsEscursionista)


invece se uso la classe in questo modo:

codice:
        Dim objEscursionista As New clsEscursionista()
	Dim escursione As New ClsGestioneEscursioni()
	
	Dim strData = "#12/24/2010#"
	escursione.Data = Date.Parse(strData)
	escursione.Localita = "Località"
	escursione.Cavita = "Cavità"
	objEscursionista.Nome = k & "Nome1"
	objEscursionista.Gruppo = k & "Gruppo1"
	escursione.Escursionisti(0) = objEscursionista
	objEscursionista.Nome = k & "Nome2"
	objEscursionista.Gruppo = k & "Gruppo2"
	escursione.Escursionisti(1) = objEscursionista
	objEscursionista.Nome = k & "Nome3"
	objEscursionista.Gruppo = k & "Gruppo3"
	escursione.Escursionisti(2) = objEscursionista
	escursione.Relazione = "fatto un bel giro e trovati nuovi rami da esplorare ulteriormente in prossime escursioni"
mi restituisce questo errore:

Riferimento a un oggetto non impostato su un'istanza di oggetto.
Riga 109: End Get
Riga 110: Set(ByVal value As clsEscursionista)
Riga 111: _clsEscursionisti(Indice) = value <--- l'errore è in questa riga
Riga 112: End Set
Riga 113: End Property

sai dirmi dove sbaglio??
Grazie per la tua pazienza