[vb.net] Comment Vérifier l'existence d'un objet dans une collection
Bonjour,
Actuellement dans mon programme je travaille avec une collections d'objets :
Code:
1 2
| 'stock les resultats par secteur
Public collgSecteurResult As New System.Collections.Generic.List(Of secteurResult) |
définition de la classe secteurResult :
Code:
1 2 3 4 5 6 7
| Public Class secteurResult
Public nomSecteur As String
Public calJourResult As New System.Collections.Generic.List(Of Calendrier_Jour_Result)
Public calSemResult As New System.Collections.Generic.List(Of Calendrier_Semaine_Result)
Public calMoisResult As New System.Collections.Generic.List(Of Calendrier_Mois_Result)
Public listeEmploy As New System.Collections.Generic.List(Of DataEmploy)
End Class |
Et j'ai définit plusieurs function pour :
- Vérifier si un secteur existe déjà dans la collection
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Public Function SecteurEstDansResult(ByVal paramStrSecteur As String) As Boolean
Dim locIntCompteurSecteur As Integer
Dim locIntTailleCollgSecteurResult As Integer = collgSecteurResult.Count - 1
SecteurEstDansResult = False
While ((locIntCompteurSecteur <= locIntTailleCollgSecteurResult) And (SecteurEstDansResult = False))
If collgSecteurResult(locIntCompteurSecteur).nomSecteur = paramStrSecteur Then
SecteurEstDansResult = True
End If
locIntCompteurSecteur += 1
End While
End Function |
- Récupérer la position d'un secteur dans une collection
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Public Function PosSecteurResult(ByVal paramStrSecteur As String) As Integer
Dim locIntCompteurSecteur As Integer
Dim locBoolIsFound As Boolean = False
Dim locIntTaillecollgSecteurResult As Integer = collgSecteurResult.Count - 1
While ((locIntCompteurSecteur <= locIntTaillecollgSecteurResult) And (locBoolIsFound = False))
If collgSecteurResult(locIntCompteurSecteur).nomSecteur = paramStrSecteur Then
PosSecteurResult = locIntCompteurSecteur
locBoolIsFound = True
End If
locIntCompteurSecteur += 1
End While
End Function |
Je sais qu'il existe des fonctions dédié aux collections afin de savoir si un élément est dans une collection.
Cependant je ne vois pas comment les utilisés sur des collections d'objets. Dans mon exemple ici je fait ma recherche toujours par rapport à l'élément
"nomSecteur".
Comment ,dans une collection d'objet,faire la recherche d'un objet dont le nomSecteur est équivalent à notre paramStrSecteur.
J'ai trouvé un élément de réponse sur ce poste :
http://www.developpez.net/forums/d12...et-collection/
en surchargeant les méthodes d'une classe.
Je voulais savoir si il y avait d'autres méthode et laquelle serai la plus performante sur les collections d'objet, pas forcément trié, dans lesquels je doit faire des recherche de position, de présences d'objet?
Je vais essayer d'implémenter la surcharge de la méthodes contains
je vous tiens au courant
Merci d'avance pour vos observations et remarques
++