Bonjour à tous,

Après avoir passé des heures sur ce problème, je n'ai toujours pas compris comment faire.

Prenons l'exemple du cours de Philipe, soit :

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
'List de String contenant des noms d'animeaux
Dim Animals As New List(Of String) From {"Compsognathus", _
            "Amargasaurus", "Oviraptor", "Velociraptor", _
            "Deinonychus", "Dilophosaurus", "Gallimimus", _
            "Triceratops"}
 
Dim listResult As List(Of String) = Animals.FindAll(AddressOf SeTermineParUS) 
 
' Voici la fonction de test, le Predicat. 
 
Private Shared Function SeTermineParUS (ByVal s As String) As Boolean 
 
If (s.Length > 2) AndAlso  (s.Substring(s.Length - 2).ToLower() = "lu") Then
     Return True 
Else 
    Return False 
End If 
 
End Function

L'exemple est très compréhensif et j'arrive très bien à l'appliquer. Cependant comment ajouter une variable à la place de "lu" à ma fonction (paramètres).

Soit l'exemple :

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
'List de String contenant des noms d'animeaux
Dim Animals As New List(Of String) From {"Compsognathus", _
            "Amargasaurus", "Oviraptor", "Velociraptor", _
            "Deinonychus", "Dilophosaurus", "Gallimimus", _
            "Triceratops"}
 
Dim listResult As List(Of String) = Animals.FindAll(AddressOf SeTermineParUS) 
 
' Voici la fonction de test, le Predicat. 
 
Private Shared Function SeTermineParUS (ByVal s As String, MotClefs as string) As Boolean 
 
If (s.Length > 2) AndAlso  (s.Substring(s.Length - 2).ToLower() = MotClefs) Then
     Return True 
Else 
    Return False 
End If 
 
End Function
Et là, je plante..... et je sais pourquoi, mais je ne sais pas le corriger.

Si quelqu'un peu m'apporter de l'aide sur ce problème, ce serai très aimable.

Merci à tous...