Ajouter la prise en charge de la recherche à plusieurs termes
L’application Contoso Pets permet de trouver de nouvelles maisons pour les animaux de compagnie abandonnés. L’équipe souhaite que la fonctionnalité de recherche soit améliorée pour permettre aux utilisateurs d’entrer plusieurs termes lors de la recherche de chiens à adopter.
Spécification de recherche
Dans ce premier exercice de défi, vous devez mettre à jour la fonctionnalité de recherche à terme unique pour permettre aux utilisateurs d’entrer plusieurs termes de recherche séparés par des virgules.
Collecter plusieurs termes de recherche de l’utilisateur
- Autoriser l’utilisateur à entrer plusieurs termes de recherche lors de la recherche de chiens
- L’utilisateur a besoin d’instructions pour « entrer les termes de recherche séparés par des virgules »
- Séparez les termes de recherche individuels de la chaîne d’entrée utilisateur et stockez-les sous forme de valeurs dans un tableau
- Trier les termes dans le tableau dans l’ordre de tri alphanumérique
Identifier les chiens avec des descriptions avec des correspondances pour un ou plusieurs termes de recherche utilisateur
- Lorsque vous identifiez un chien dans le
animalsArray, recherchez des correspondances pour chaque terme que l’utilisateur a entré - Pour une correspondance de terme, affichez un message avec le nom des chiens et le terme correspondant
- Exemple :
Our dog Jake is a match for your search for sheppard!
- Exemple :
- Lorsque toutes les recherches de termes pour la description actuelle du chien sont terminées :
- En cas de correspondance unique ou multiple, générez le surnom et la description du chien actuel.
- En cas de correspondance unique ou multiple, suivez le fait qu’il y a eu une correspondance afin que vous sachiez qu’il ne faut pas afficher de message « No matches found for any available dogs » (reportez-vous à l’élément suivant).
- Une fois que toutes les recherches de chiens sont terminées sans correspondances, affichez un message « Aucune correspondance trouvée pour les chiens disponibles »
Appliquer les règles de validation suivantes
- les valeurs ne peuvent pas être null
- les valeurs ne peuvent pas avoir de caractères zéro
- toute autre restriction est à la hauteur du développeur
Commentaires de code
- Commentaires de code numérotés dans le code de démarrage offrent des suggestions
- Les commentaires sont dans un ordre séquentiel et seuls les commentaires commençant par #1, #2 et #3 s’appliquent à cet exercice du défi
Exemple de sortie
Passez en revue l’image animée suivante
Notez l’affichage temporaire de «
searching...» suivi du terme actuel (exemple : «searching...retriever»)Notez que l’ordre dans lequel les termes apparaissent dans la recherche est maintenant en alphanumérique
Notez que les messages concernant les correspondances persistent (par exemple : "
Our dog lola is a chase match!")
Passez en revue l’exemple de sortie dans la section suivante, « Comment vérifier votre travail », pour clarifier la façon d’implémenter des fonctionnalités
Comment vérifier votre travail
Pour vérifier que votre code répond aux exigences spécifiées, effectuez les étapes suivantes :
- Utilisez Visual Studio Code pour générer et exécuter votre application.
Remarque
Vous pouvez quitter le test de vérification avant d’effectuer toutes les étapes de vérification si vous voyez un résultat qui ne répond pas aux exigences de la spécification. Pour forcer une sortie du programme en cours d’exécution, dans le panneau Terminal, appuyez sur Ctrl-C. Après avoir quitté l’application en cours d’exécution, effectuez les modifications qui, selon vous, permettront de résoudre le problème sur lequel vous travaillez, enregistrez vos mises à jour dans le fichier Program.cs, puis générez à nouveau et exécutez votre code.
L’invite de commandes de terminal doit s’afficher comme point de départ du programme
À l’invite de commandes, entrez 2 pour accéder au menu :
Welcome to the Contoso PetFriends app. Your main menu options are: 1. List all of our current pet information 2. Display all dogs with a specified characteristic Enter your selection number (or type Exit to exit the program) 2 Enter dog characteristics to search for separated by commasÀ l’invite de commandes, entrez large, cream, golden pour tester le cas où plusieurs termes de recherche correspondent aux descriptions des chiens. Vérifiez que le panneau Terminal est mis à jour avec un message similaire à l’exemple de sortie de code :
Enter dog characteristics to search for separated by commas large, cream, golden Our dog Nickname: lola matches your search for cream Our dog Nickname: lola matches your search for golden Nickname: lola (ID #: d1) Physical description: medium sized cream colored female golden retriever weighing about 45 pounds. housebroken. Personality: loves to have her belly rubbed and likes to chase her tail. gives lots of kisses. Our dog Nickname: gus matches your search for golden Our dog Nickname: gus matches your search for large Nickname: gus (ID #: d2) Physical description: large reddish-brown male golden retriever weighing about 85 pounds. housebroken. Personality: loves to have his ears rubbed when he greets you at the door, or at any time! loves to lean-in and give doggy hugs. Press the Enter key to continueÀ l’invite de commandes, appuyez sur la touche Entrée pour passer au menu principal
À l’invite de commandes, entrez 2 pour accéder au menu :
Welcome to the Contoso PetFriends app. Your main menu options are: 1. List all of our current pet information 2. Display all dogs with a specified characteristic Enter your selection number (or type Exit to exit the program) 2 Enter dog characteristics to search for separated by commasÀ l’invite de commandes, entrez big, grey, stripes pour tester le cas où aucun des termes de recherche ne correspond aux descriptions des chiens. Vérifiez que le panneau Terminal est mis à jour avec un message similaire aux exemples de sortie de code :
Enter dog characteristics to search for separated by commas big, grey, stripes None of our dogs are a match for: big, grey, stripes Press the Enter key to continueSi vous avez spécifié d’autres restrictions pour les entrées valides, exécutez les cas de test appropriés pour vérifier votre travail.
Remarque
Si votre code répond aux exigences, vous devriez être en mesure d’effectuer chaque étape dans l’ordre et de voir les résultats attendus dans une seule passe de test. Si vous avez ajouté des restrictions supplémentaires, vous devrez peut-être quitter l’application, puis exécuter une passe de test distincte pour effectuer votre vérification.
Félicitations si vous avez réussi dans cet exercice de défi !