여러 용어 검색 지원 추가
Contoso 애완 동물 응용 프로그램은 버려진 애완 동물을위한 새로운 가정을 찾을 수 있습니다. 팀은 사용자가 입양할 개를 검색할 때 여러 용어를 입력할 수 있도록 검색 기능을 개선하려고 합니다.
검색 사양
이 첫 번째 과제 연습에서는 사용자가 쉼표로 구분된 여러 검색어를 입력할 수 있도록 단일 용어 검색 기능을 업데이트해야 합니다.
사용자로부터 여러 검색어 수집
- 사용자가 개를 검색할 때 여러 검색어를 입력할 수 있도록 허용
- 사용자는 "쉼표로 구분된 검색어를 입력"하는 지침이 필요합니다.
- 개별 검색어를 사용자 항목 문자열에서 분리하고 배열에 값으로 저장
- 배열의 용어를 영숫자 정렬 순서로 정렬합니다.
하나 이상의 사용자 검색어와 일치하는 설명이 있는 개 식별
- 에서 개를
animalsArray식별할 때 사용자가 입력한 각 용어에 대한 일치 항목을 검색합니다. - 용어 일치의 경우 개 이름과 일치하는 용어가 포함된 메시지를 출력합니다.
- 본보기:
Our dog Jake is a match for your search for sheppard!
- 본보기:
- 모든 용어 검색이 현재 개 설명을 완료하는 경우:
- 하나 이상의 일치 항목의 경우 현재 개에 대한 애칭 및 설명을 출력합니다.
- 하나 이상의 일치 항목에 대해 "사용 가능한 개에 대한 일치 항목을 찾을 수 없음" 메시지를 표시하지 않도록 일치 항목이 있는지 추적합니다(다음 항목 참조).
- 모든 개 검색이 일치 항목 없이 완료된 후 "사용 가능한 개에 대한 일치 항목을 찾을 수 없음" 메시지를 표시합니다.
다음 유효성 검사 규칙 적용
- 값은 null일 수 없습니다.
- 값은 0자를 가질 수 없습니다.
- 추가 제한은 개발자에게 달려 있습니다.
코드 주석
- 시작 코드 제안 제안의 번호가 매겨진 코드 주석
- 주석은 순차적으로 표시되며 #1, #2 및 #3으로 시작하는 주석만 이 챌린지 연습에 적용됩니다.
샘플 출력
다음 애니메이션 이미지 검토
"
searching..."의 임시 표시 다음에 현재 용어(예: "searching...retriever")가 표시됩니다.검색에 표시되는 용어의 순서가 영숫자입니다.
일치 항목에 대한 메시지가 유지됩니다(예: "
Our dog lola is a chase match!").
다음 섹션인 "작업을 확인하는 방법"의 샘플 출력을 검토하여 기능을 구현하는 방법을 자세히 설명합니다.
작업을 확인하는 방법
코드가 지정된 요구 사항을 충족하는지 확인하려면 다음 단계를 완료합니다.
- Visual Studio Code를 사용하여 앱을 빌드하고 실행합니다.
비고
사양 요구 사항을 충족하지 않는 결과가 표시되는 경우 모든 확인 단계를 완료하기 전에 확인 테스트를 종료할 수 있습니다. 실행 중인 프로그램에서 강제로 종료하려면 터미널 패널에서 Ctrl-C를 누릅니다. 실행 중인 앱을 종료한 후 작업 중인 문제를 해결할 것으로 생각되는 편집을 완료하고, 업데이트를 Program.cs 파일에 저장한 다음, 코드를 다시 빌드하고 실행합니다.
터미널 명령 프롬프트가 프로그램의 시작점으로 표시되어야 합니다.
명령 프롬프트에서 2개의 메뉴를 입력합니다.
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명령 프롬프트에서 큰 크림, 골든 을 입력하여 둘 이상의 검색 용어가 개 설명과 일치하는지 테스트합니다. 터미널 패널이 코드 출력 샘플과 유사한 메시지로 업데이트되는지 확인합니다.
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명령 프롬프트에서 Enter 키를 눌러 주 메뉴로 계속 이동
명령 프롬프트에서 2개의 메뉴를 입력합니다.
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명령 프롬프트에서 큰 회색 줄무늬를 입력하여 검색 용어가 개 설명과 일치하지 않는 경우 테스트합니다. 터미널 패널이 코드 출력 샘플과 유사한 메시지로 업데이트되는지 확인합니다.
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유효한 항목에 대한 추가 제한을 지정한 경우 적절한 테스트 사례를 실행하여 작업을 확인합니다.
비고
코드가 요구 사항을 충족하는 경우 각 단계를 순서대로 완료하고 단일 테스트 통과에서 예상 결과를 볼 수 있어야 합니다. 추가 제한을 추가한 경우 애플리케이션을 종료한 다음 별도의 테스트 패스를 실행하여 확인을 완료해야 할 수 있습니다.
이 도전 연습에 성공하면 축하합니다!