Bonjour,
j'utilise un dictionnaire trié avec comme clé une structure (simple)
comme vous pouvez le contater j'implémente l'interface IComparable afin de pouvoir comparer 2 structures.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Structure maStruct Implements IComparable Dim s1 As String Dim s2 As String Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo Dim struct As maStruct If obj.GetType IsNot GetType(maStruct) Then Throw New ArgumentException("Objet du mauvais type") Else struct = CType(obj, maStruct) End If If Me.s1 = struct.s1 AndAlso Me.s2 = struct.s2 Then 'les structures sont identiques Return 0 Else 'les structures sont différentes Return 1 End If End Function End Structure
par la suite dans mon code je fait ceci :
mes questions sont donc multiples. Est ce que j'oublie d'implémenté une interface dans ma structure avant de l interroger ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Dim dicoToDisplay As New SortedDictionary(Of maStruct, String) ... Dim ca_pcStruct As New maStruct() ca_pcStruct.s1 = "smth" ca_pcStruct.s2 = "smwh" ... dicoToDisplay.Add(ca_pcStruct, "...") ... If Not dicoToDisplay.ContainsKey(ca_pcStruct) Then ... 'je passe ici else ... 'et parfois ici end if ... For Each ca_pc As maStruct In dicoToDisplay.Keys 'et là ca croute quand je fait dicoToDisplay(ca_pcStruct) 'et si je fait dim b as boolean = dicoToDisplay.ContainsKey(ca_pc) 'ca me retourne false next
Comme vous le voyer j'essai de faire correspondre un couple de données à ue valeur dans un dicionnary. J'utilise une structure mais n'existe t il pas un autre moyen pour faire ceci?
merci d'avance et à beintôt
Partager