เพิ่มการสนับสนุนการค้นหาหลายคํา

เสร็จสมบูรณ์เมื่อ

แอป Contoso Pets ช่วยค้นหาบ้านใหม่ ๆ สําหรับสัตว์เลี้ยงที่ถูกทอดทิ้ง ทีมต้องการให้คุณลักษณะการค้นหาได้รับการปรับปรุงเพื่อให้ผู้ใช้ป้อนหลายคําเมื่อค้นหาสุนัขเพื่อนํามาใช้

ข้อมูลจําเพาะการค้นหา

ในแบบฝึกหัดการทดสอบครั้งแรกนี้ คุณต้องอัปเดตคุณลักษณะการค้นหาคําเดียวเพื่อให้ผู้ใช้สามารถป้อนคําค้นหาหลายคําที่คั่นด้วยเครื่องหมายจุลภาค

รวบรวมคําค้นหาหลายคําจากผู้ใช้

  • อนุญาตให้ผู้ใช้ป้อนคําค้นหาหลายคําเมื่อค้นหาสุนัข
  • ผู้ใช้จําเป็นต้องมีคําแนะนําในการ "ใส่คําค้นหาที่คั่นด้วยเครื่องหมายจุลภาค"
  • แยกคําค้นหาแต่ละรายการออกจากสตริงรายการของผู้ใช้และจัดเก็บเป็นค่าในอาร์เรย์
  • เรียงลําดับคําในอาร์เรย์ ตามลําดับตัวอักษรและตัวเลข

ระบุสุนัขที่มีคําอธิบายที่ตรงกับคําค้นหาของผู้ใช้อย่างน้อยหนึ่งคํา

  • ขณะที่คุณกำลังระบุสุนัขใน animalsArray ให้ค้นหารายการที่ตรงกับแต่ละคำที่ผู้ใช้ป้อน
  • สําหรับการจับคู่คํา ให้ส่งออกข้อความที่มีชื่อสุนัขและคําที่จับคู่
    • ตัวอย่าง: Our dog Jake is a match for your search for sheppard!
  • เมื่อการค้นหาทั้งหมดเสร็จสมบูรณ์สำหรับรายละเอียดของสุนัขในปัจจุบัน:
    • สำหรับการพบกันอย่างน้อยหนึ่งครั้ง ให้แสดงชื่อเล่นและคำอธิบายของสุนัขตัวนั้นในปัจจุบัน
    • สําหรับการจับคู่อย่างน้อยหนึ่งรายการ ให้ติดตามว่ามีรายการที่ตรงกันเพื่อให้คุณทราบว่าจะไม่แสดงข้อความ "ไม่พบรายการที่ตรงกับสุนัขใดๆ ที่มีอยู่" (อ้างอิงไปยังรายการถัดไป)
  • หลังจากการค้นหาสำหรับสุนัข ทั้งหมด เสร็จสมบูรณ์โดยไม่พบรายการที่ตรงกัน แสดงข้อความ "ไม่พบรายการที่ตรงกับสุนัขทั้งหมด"

บังคับใช้กฎการตรวจสอบต่อไปนี้

  • ค่าต้องไม่เป็น null
  • ค่าต้องไม่มีอักขระเป็นศูนย์
  • ข้อจํากัดเพิ่มเติมใด ๆ ขึ้นอยู่กับนักพัฒนา

ข้อคิดเห็นเกี่ยวกับรหัส

  • ข้อคิดเห็นโค้ดที่มีลําดับเลขในโค้ดเริ่มต้นเสนอคําแนะนํา
  • ข้อคิดเห็นอยู่ในลําดับต่อเนื่องและมีเพียงข้อคิดเห็นที่ขึ้นต้นด้วย #1, #2 และ #3 เท่านั้นที่จะนําไปใช้กับแบบฝึกหัดของการทดสอบนี้

ตัวอย่างผลลัพธ์

  • ตรวจทานรูปภาพเคลื่อนไหวต่อไปนี้

    • โปรดสังเกตการแสดงผลชั่วคราวของ "searching..." ตามด้วยคําปัจจุบัน (ตัวอย่าง: "searching...retriever")

    • โปรดสังเกตลําดับที่คําศัพท์ปรากฏในการค้นหาขณะนี้อยู่ในพยัญชนะผสมตัวเลข

    • สังเกตว่าข้อความสําหรับรายการที่ตรงกันยังคงอยู่ (ตัวอย่าง: "Our dog lola is a chase match!")

      ภาพเคลื่อนไหวสกรีนช็อตของตัวอย่างของแอปพลิเคชันที่ค้นหาคําอธิบายสุนัขที่มีผู้ใช้สี่รายที่ส่งคํา

  • ตรวจทานผลลัพธ์ตัวอย่างในส่วนต่อไปนี้ "วิธีการตรวจสอบงานของคุณ" เพื่ออธิบายวิธีการใช้คุณลักษณะเพิ่มเติม

วิธีการตรวจสอบงานของคุณ

หากต้องการตรวจสอบว่าโค้ดของคุณเป็นไปตามข้อกําหนดที่ระบุไว้ ให้ปฏิบัติตามขั้นตอนต่อไปนี้:

  1. ใช้ Visual Studio Code เพื่อสร้างและเรียกใช้แอปของคุณ

หมายเหตุ

คุณสามารถออกจากการทดสอบการตรวจสอบก่อนดําเนินการตามขั้นตอนการตรวจสอบได้หากเห็นผลลัพธ์ที่ไม่ตรงตามข้อกําหนดข้อมูลจําเพาะ เมื่อต้องการบังคับให้ออกจากโปรแกรมที่กําลังทํางานอยู่ ให้กด Ctrl C ในแผงเทอร์มินัล หลังจากออกจากแอปที่กําลังเรียกใช้ แก้ไขที่คุณเชื่อว่าจะแก้ไขปัญหาที่คุณกําลังทํางานอยู่ บันทึกการอัปเดตของคุณไปยังไฟล์ Program.cs จากนั้นสร้างและเรียกใช้โค้ดของคุณอีกครั้ง

  1. พร้อมท์คําสั่งเทอร์มินัลควรแสดงเป็นจุดเริ่มต้นสําหรับโปรแกรม

  2. ที่พรอมต์คําสั่ง ให้ป้อน 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
    
  3. ที่พร้อมท์คําสั่ง ให้ป้อน ขนาดใหญ่ ครีม ทองคํา เพื่อทดสอบเมื่อคําค้นหามากกว่าหนึ่งคําตรงกับคําอธิบายสุนัข ตรวจสอบว่าแผงเทอร์มินัลอัปเดตข้อความคล้ายกับตัวอย่างเอาต์พุตของโค้ด:

    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. ที่พร้อมท์คําสั่ง ให้กดแป้น enter เพื่อดําเนินการต่อไปยังเมนูหลัก

  5. ที่พรอมต์คําสั่ง ให้ป้อน 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
    
    
  6. ที่พรอมท์คําสั่ง ให้ป้อน ขนาดใหญ่ สีเทา ลาย เพื่อทดสอบเมื่อไม่มีคําค้นหาที่ตรงกับคําอธิบายของสุนัข ตรวจสอบว่าแผงเทอร์มินัลอัปเดตข้อความคล้ายกับตัวอย่างเอาต์พุตของโค้ด:

    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. ถ้าคุณระบุข้อจํากัดเพิ่มเติมสําหรับรายการที่ถูกต้อง ให้เรียกใช้กรณีการทดสอบที่เหมาะสมเพื่อตรวจสอบงานของคุณ

หมายเหตุ

หากรหัสของคุณตรงกับข้อกําหนดคุณควรสามารถทําแต่ละขั้นตอนให้เสร็จสมบูรณ์ตามลําดับและดูผลลัพธ์ที่คาดหวังได้ในการทดสอบครั้งเดียว ถ้าคุณเพิ่มข้อจํากัดเพิ่มเติม คุณอาจจําเป็นต้องออกจากแอปพลิเคชัน แล้วเรียกใช้การส่งผ่านการทดสอบแยกต่างหากเพื่อเสร็จสิ้นการตรวจสอบของคุณ

ขอแสดงความยินดีถ้าคุณประสบความสําเร็จในการออกกําลังกายการทดสอบนี้!