Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [vb.net]overloading della funzione contains di arraylist
Forum - C# / VB.NET - [vb.net]overloading della funzione contains di arraylist

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
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

Codice sorgente - presumibilmente VB.NET

  1. Class PersonList
  2.     Inherits ArrayList
  3.  
  4. Public Overloads Function Contains(ByVal Nome As String, ByVal Cognome As String) As Boolean
  5.         Dim P As  Persona
  6.         For i As Int32 = 0 To Me.Count - 1
  7.             If (Me(i).Nome = Nome) And (Me(i).Cognome = Cognome) Then
  8.                 P = New Persona(Me(i).Nome, Me(i).Cognome, Me(i).Compleanno)
  9.             End If
  10.         Next
  11.         Return MyBase.Contains(P)
  12.     End Function
  13. 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 >.<

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 11:35
Martedì, 02/10/2012
Niente ragazzi ho risolto da solo :yup:

Codice sorgente - presumibilmente VB.NET

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



Per me potete chiudere ;)

PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 13:39
Martedì, 02/10/2012
E perché non fare direttamente così?
Codice sorgente - presumibilmente VB.NET

  1. Public Overloads Function Contains(ByVal P As Persona) As Boolean
  2.         If MyBase.Contains(P) Then Return True
  3.         Return False
  4.     End Function



In attesa della fine del mondo, fissata per l'anno prossimo, sono alla ricerca di un notaio con cui fare testamento...
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:12
Martedì, 02/10/2012
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

PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 20:17
Martedì, 02/10/2012
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..


In attesa della fine del mondo, fissata per l'anno prossimo, sono alla ricerca di un notaio con cui fare testamento...
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:24
Martedì, 02/10/2012
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:

PM Quote
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Segnala al moderatore
Postato alle 20:51
Martedì, 02/10/2012
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 il 02/10/2012 alle 20:52


In attesa della fine del mondo, fissata per l'anno prossimo, sono alla ricerca di un notaio con cui fare testamento...
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:03
Martedì, 02/10/2012
XD purtroppo sono ancora ben lontano dalle interfacce :( altrimenti le aggiungevo volentieri :yup:

PM Quote