Adăugarea suportului pentru mai multe termeni de căutare

Finalizat

Aplicația Contoso Animale de casă vă ajută să găsiți case noi pentru animalele de companie abandonate. Echipa dorește ca caracteristica de căutare să fie îmbunătățită pentru a le permite utilizatorilor să introducă mai mulți termeni atunci când caută câini de adoptat.

Specificație de căutare

În acest prim exercițiu de provocare, trebuie să actualizați caracteristica de căutare unică a termenilor pentru a le permite utilizatorilor să introducă mai mulți termeni de căutare separați prin virgulă.

Adunați mai mulți termeni de căutare de la utilizator

  • Permiteți utilizatorului să introducă mai mulți termeni de căutare atunci când caută câini
  • Utilizatorul are nevoie de instrucțiuni pentru a "introduce termenii de căutare separați prin virgulă"
  • Separați termenii individuali de căutare de șirul de intrare al utilizatorului și stocați ca valori într-o matrice
  • Sortarea termenilor din matrice în ordinea de sortare alfanumerică

Identificarea câinilor cu descrieri cu potriviri pentru unul sau mai multe, termen de căutare utilizator

  • Pe măsură ce identificați un câine în animalsArray, căutați potriviri pentru fiecare termen introdus de utilizator
  • Pentru o potrivire de termeni, afișați un mesaj cu numele câinilor și termenul potrivit
    • exemplu: Our dog Jake is a match for your search for sheppard!
  • Când toate căutările de termeni se termină pentru descrierea curentă a câinelui:
    • Pentru una sau mai multe potriviri, se afișează supranumele și descrierea pentru câinele curent
    • Pentru una sau mai multe potriviri, urmăriți că a existat o potrivire, astfel încât să nu știți să afișați un mesaj "nicio potrivire găsită pentru câini disponibili" (consultați elementul următor)
  • După ce toate căutările câinilor s-au terminat fără potriviri, se afișează un mesaj "Nicio potrivire găsită pentru câini disponibili"

Impuneți următoarele reguli de validare

  • valorile nu pot fi nule
  • valori nu pot avea caractere zero
  • orice restricție suplimentară este până la dezvoltator

Comentarii cod

  • Comentariile cu cod numerotat din codul starter oferă sugestii
  • Comentariile sunt într-o ordine secvențială și numai comentariile începând cu #1, #2 și #3 se aplică acestui exercițiu al provocării

Eșantion de ieșire

  • Revizuiți următoarea imagine animată

    • Observați afișarea temporară a "searching..." urmat de termenul curent (exemplu: "searching...retriever")

    • Observați că ordinea în care apar termenii în căutare este acum alfanumerică

    • Observați că mesajele pentru potriviri persistă (de exemplu: "Our dog lola is a chase match!")

      Captură de ecran animată cu un exemplu de descriere a aplicației care caută câini cu patru termeni remisi de utilizator.

  • Examinați rezultatul eșantionului din secțiunea următoare, "Cum să verificați lucrul", pentru a clarifica mai multe modalități de implementare a caracteristicilor

Cum să vă verificați lucrul

Pentru a valida faptul că codul dvs. îndeplinește cerințele specificate, parcurgeți pașii următori:

  1. Utilizați Visual Studio Code pentru a construi și a rula aplicația.

Notă

Puteți ieși din testul de verificare înainte de a finaliza toți pașii de verificare dacă vedeți un rezultat care nu îndeplinește cerințele de specificație. Pentru a impune ieșirea din programul care rulează, în panoul Terminal, apăsați Ctrl-C. După ce ieșiți din aplicația care rulează, finalizați editările pe care credeți că le veți rezolva problema la care lucrați, salvați actualizările la fișierul Program.cs, apoi creați din nou și rulați codul.

  1. Linia de comandă terminal ar trebui să se afișeze ca punct de plecare pentru program

  2. În linia de comandă, introduceți 2 meniu:

    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
    
  3. În linia de comandă, introduceți mare, cremă, de aur pentru a testa atunci când mai multe termeni de căutare se potrivește cu descrierile câinilor. Verificați dacă panoul Terminal se actualizează cu un mesaj similar cu eșantionul de ieșire a codului:

    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
    
  4. În linia de comandă, apăsați tasta Enter pentru a continua la meniul principal

  5. În linia de comandă, introduceți 2 meniu:

    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
    
    
  6. În linia de comandă, introduceți big, gri, dungi pentru a testa atunci când niciunul dintre termenii de căutare nu se potrivește cu descrierile câinilor. Verificați dacă panoul Terminal se actualizează cu un mesaj similar cu mostrele de ieșire de cod:

    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 continue
    
  7. Dacă ați specificat restricții suplimentare pentru intrările valide, rulați cazurile de testare corespunzătoare pentru a vă verifica munca.

Notă

Dacă codul îndeplinește cerințele, ar trebui să puteți finaliza fiecare pas în ordine și să vedeți rezultatele așteptate într-un singur test. Dacă ați adăugat restricții suplimentare, poate fi necesar să ieșiți din aplicație, apoi să rulați un permis de test separat pentru a finaliza verificarea.

Felicitări dacă ați reușit în acest exercițiu de provocare!