Oppure

Loading
02/10/12 9:08
salve a tutti è da ieri sera che mi scervello su come far funzionare questa funzione contains contenuta nella classe arraylist.

Quello che dovrei fare è praticamente trasformarla e fare in modo dati come parametro nome e cognome di una data persona, mi restituisca se nella lista è presente un oggetto con tali caratteristiche.

io ho fatto in questo modo

Class PersonList
    Inherits ArrayList

Public Overloads Function Contains(ByVal Nome As String, ByVal Cognome As String) As Boolean
        Dim P As  Persona
        For i As Int32 = 0 To Me.Count - 1
            If (Me(i).Nome = Nome) And (Me(i).Cognome = Cognome) Then
                P = New Persona(Me(i).Nome, Me(i).Cognome, Me(i).Compleanno)
            End If
        Next
        Return MyBase.Contains(P)
    End Function
End class



Il problema è che se sia che gli passo dei parametri che esistano o meno, mi ritorna sempre false.....

a me non interessa che mi diate la soluzione, mi interessa capire come funziona questa classe, in modo da capire dove sbaglio >.<
02/10/12 9:35
Niente ragazzi ho risolto da solo :yup:

Public Overloads Function Contains(ByVal Nome As String, ByVal cognome As String) As Boolean
        Dim ok As Boolean = False
        For i As Int32 = 0 To Me.Count - 1
            If (Me(i).Nome = Nome) And (Me(i).Cognome = cognome) Then
                ok = True
            End If
        Next
        Return ok
    End Function


Per me potete chiudere ;)
02/10/12 11:39
Renny
E perché non fare direttamente così?
Public Overloads Function Contains(ByVal P As Persona) As Boolean
        If MyBase.Contains(P) Then Return True
        Return False
    End Function
aaa
02/10/12 14:12
perchè volevo passargli come parametro solamente nome e cognome....dato che la classe persona non ha solo i campi nome e cognome, ma anche altri, mi interessava avere questa funzione che mi restituisse se Pinco pallino c'era, non tutto l'oggetto u.u
02/10/12 18:17
Renny
Ma concettualmente Pinco pallino coincide con un oggetto Persona.. Quindi è più corretto verificare se l'oggetto Persona è presente o no.. Io te lo dico, poi vedi tu..
aaa
02/10/12 18:24
sisi lo sò che è la stessa cosa passargli un oggetto, forse è ancora più valida in quando controlla diversi parametri...ma l'eserciziario che ho sotto mano mi chiedeva di passargli come parametronome e cognome D: io mi stavo solo attenendo al testo...comunque dai aggiungo pure la tua versione di contains così ti rendo felice :k:
02/10/12 18:51
Renny
che gioia...:_doubt:
Dato che ci sei implementa l'interfaccia Icomparable alla classe Person..
Quella s che sarebbe una soluzione "elegante"...:-|
Ultima modifica effettuata da Renny 02/10/12 18:52
aaa
02/10/12 19:03
XD purtroppo sono ancora ben lontano dalle interfacce :( altrimenti le aggiungevo volentieri :yup: