תרגיל - סקור את קוד ההתחלה
בשלב ראשון זה של תהליך הפיתוח, תעיין בקוד שסופק בתיקיה Starter project.
סקירת התוכן של Program.cs שלך
קובץ Program.cs מכיל גירסה ראשונית של היישום שאתה עובד עליו. הקוד כולל תכונות להצגה והצגה של הנתונים לדוגמה עבור היישום, ומציג רשימה של אפשרויות תפריט המגדירות את התכונות העיקריות של היישום.
ודא שיש לך את תיקיית "GuidedProject" (Guided-project-Work-with-variable-data-CSharp-main) פתוחה בקוד Visual Studio.
היחידה "הכן" (היחידה הקודמת במודול זה) כוללת מקטע התקנה המתאר את התהליך להורדת נקודת ההתחלה הראשונית עבור הפרוייקט המדריך ופתיחת התיקיה Visual Studio Code. במידת הצורך, חזור ובצע את הוראות ההתקנה.
בתצוגה "EXPLORER", הרחב את התיקיה "Starter" ולאחר מכן בחר "Program.cs".
בעת בחירת Program.cs הקובץ, תוכן הקובץ נפתח באזור העורך הראשי משמאל לסייר.
אם תצוגת הסייר אינה פתוחה, באפשרותך לבחור/לפתוח את תצוגת הסייר מסרגל הפעילות בקצה הימני של Visual Studio Code. EXPLORER הוא הסמל העליון ביותר בסרגל הפעילות.
תימשך כמה דקות כדי לסקור את הצהרות המשתנים הראשוניות בחלק העליון של Program.cs המשתנים.
// #1 the ourAnimals array will store the following: string animalSpecies = ""; string animalID = ""; string animalAge = ""; string animalPhysicalDescription = ""; string animalPersonalityDescription = ""; string animalNickname = ""; // #2 variables that support data entry int maxPets = 8; string? readResult; string menuSelection = ""; // #3 array used to store runtime data, there is no persisted data string[,] ourAnimals = new string[maxPets, 6];תחילה, תראה הערה (הערה #1) ואחריה רשימת משתנים. משתנים אלה,
animalSpeciesanimalNicknameבאמצעות ,ourAnimalsמשמשים לאחסון הערכים של מאפייני חיית המחמד במערך מחרוזות רב-ממדי בשם , ואותחלו כדי להכיל מחרוזת באורך אפס"". הצהרתourAnimalsהמערך נמצאת מעט יותר למטה בקוד.קבוצת המשתנים הבאה (תחת הערה #2)
stringintהיא שילוב של ומשתנים המשמשים ליצירת נתונים לדוגמה, לקריאת קלט משתמש וליצור קריטריוני יציאה עבור לולאת התוכנית הראשית. שים לב לקוד השורהstring? readResult;. השתמש בתו כדי?להמיר סוג משתנה בדרך כלל שאינו Null (int, string, bool,...) עם תמיכה עבור הסוג הניתן ל- Null.הערה
בעת קריאת ערכים שהוזנו
Console.ReadLine()על-ידי המשתמש באמצעות פעולת השירות, מומלץ להפוך מחרוזת סוג הניתנת ל- Nullstring?לזמינה כדי להימנע מהדר הקוד היוצר אזהרה בעת בניית הפרוייקט.המשתנה הסופי (תחת הערה #3) הוא מערך המחרוזת הדו-ממדית בשם
ourAnimals. אתחלת את מספר השורות, שהוגדרו על-ידי maxPets, עד 8. מספר המאפיינים שאתה מאחסן בהתחלה הוא שש. ששת המאפיינים תואמים למספר משתני המחרוזת שבדקת בקוד לדוגמה, אך יש להרחיב את מספר המאפיינים כדי להוסיף שדה עבורsuggestedDonation.גלול מטה בקובץ Program.cs כדי לבחון את הלולאה
forהמכילה מבנהswitchבחירה בתוך בלוק הקוד שלו.דוגמת הקוד היא גירסה מקוצרת לחיסכון בשטח.
// #4 create sample data ourAnimals array entries for (int i = 0; i < maxPets; i++) { switch (i) { case 0: animalSpecies = "dog"; animalID = "d1"; animalAge = "2"; animalPhysicalDescription = "medium sized cream colored female golden retriever weighing about 45 pounds. housebroken."; animalPersonalityDescription = "loves to have her belly rubbed and likes to chase her tail. gives lots of kisses."; animalNickname = "lola"; break; case 1: animalSpecies = "dog"; animalID = "d2"; animalAge = "9"; animalPhysicalDescription = "large reddish-brown male golden retriever weighing about 85 pounds. housebroken."; animalPersonalityDescription = "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."; animalNickname = "gus"; break; // case 2: deleted for brevity // case 3: deleted for brevity default: animalSpecies = ""; animalID = ""; animalAge = ""; animalPhysicalDescription = ""; animalPersonalityDescription = ""; animalNickname = ""; break; } ourAnimals[i, 0] = "ID #: " + animalID; ourAnimals[i, 1] = "Species: " + animalSpecies; ourAnimals[i, 2] = "Age: " + animalAge; ourAnimals[i, 3] = "Nickname: " + animalNickname; ourAnimals[i, 4] = "Physical description: " + animalPhysicalDescription; ourAnimals[i, 5] = "Personality: " + animalPersonalityDescription; }שים לב כי הלולאה
forמשתמשתmaxPetsבמשתנה כדי ליצור גבול עליון במספר ההערה הבאה מספר 4.כמו כן, שים לב
switchשהבנייה מסתעפות באופן סלקטיבי את הקוד כדי שתוכל להגדיר מאפייני חיית מחמד שונים עבור חיות המחמד בערכת הנתונים לדוגמה.השתמש במשפט כדי
switchלהגדיר ערכים שונים עבור ארבעת ההחזרים הראשונים של הלולאהfor. לאחר עיבוד הנתונים לדוגמה, כל המאפיינים ריקים או באורך אפס, מחרוזת.הערכים של המשתנים האופייניים של בעלי החיים מוקצים למערך ההנפשה שלנו בחלק התחתון של הלולאה
for.גלול לחלק התחתון של קובץ הקוד ב- Visual Studio Code. בדוק את הקוד המשמש להצגת אפשרויות התפריט ולכידת הקלט של בחירת המשתמש.
עליך לבחון את הקוד הבא:
// #5 display the top-level menu options do { // NOTE: the Console.Clear method is throwing an exception in debug sessions Console.Clear(); Console.WriteLine("Welcome to the Contoso PetFriends app. Your main menu options are:"); Console.WriteLine(" 1. List all of our current pet information"); Console.WriteLine(" 2. Display all dogs with a specified characteristic"); Console.WriteLine(); Console.WriteLine("Enter your selection number (or type Exit to exit the program)"); readResult = Console.ReadLine(); if (readResult != null) { menuSelection = readResult.ToLower(); } // use switch-case to process the selected menu option switch (menuSelection) { case "1": // list all pet info for (int i = 0; i < maxPets; i++) { if (ourAnimals[i, 0] != "ID #: ") { Console.WriteLine(); for (int j = 0; j < 6; j++) { Console.WriteLine(ourAnimals[i, j]); } } } Console.WriteLine("\n\rPress the Enter key to continue"); readResult = Console.ReadLine(); break; case "2": // Display all dogs with a specified characteristic"); Console.WriteLine("\nUNDER CONSTRUCTION - please check back next month to see progress."); Console.WriteLine("Press the Enter key to continue."); readResult = Console.ReadLine(); break; default: break; } } while (menuSelection != "exit");קח דקה כדי לסקור את שני המשפטים
case.קיימות שתי אפשרויות תפריט בלבד שעובדות עם גירסה מוגבלת של היישום. האפליקציה להפעלה מספקת רק את היכולות הדרושות להפעלה ולבדיקה של אב טיפוס של תכונות.
שים לב לאחר שורת הקוד
readResult = Console.ReadLine();מופיעה בדיקה של ערך Null.הקוד המשתמש בפעולת
Console.ReadLine()השירות, כולל את הערך מוגדר למחרוזת הניתנת ל- NullreadResultכדי למנוע מהדר הקוד ליצור אזהרה בעת בניית הפרוייקט.
בדוק את העבודה שלך
בדוק את אפליקציית מסוף הקוד להפעלה, בבנייה של שורת הפקודה TERMINAL והפעל את קוד הפרוייקט שלך בפקודה אחת על-ידי הזנת:
dotnet run.הערה
יש לפתוח את הבקשה למסוף בתיקיה 'התחלה' והמסוף אמור להיראות דומה
..\ArrayGuidedProject\starter>כאשר הקוד מופעל, מוצגים שני פריטי תפריט.
- הזן:
1, כדי לבדוק את הפלט "פרט את כל פרטי חיית המחמד הנוכחיים שלנו" - הזן:
2, כדי לבדוק את הודעת מציין המיקום "בבנייה" הודעה
- הזן:
Enter:
1, ולאחר מכן הקשה על מקש "Enter" כדי "להציג את כל החיות".ודא שכל פרטי חיית המחמד מוצגים.
בעת התבוננו בנתונים על כל חיות מחמד, חיית המחמד האחרונה שהוצגה צריכה להתאים לפלט הבא:
ID #: c4 Species: cat Age: 3 Nickname: Lion Physical description: Medium sized, long hair, yellow, female, about 10 pounds. Uses litter box. Personality: A people loving cat that likes to sit on your lap. Press the Enter key to continueהקש על מקש Enter כדי להמשיך ולחזור לתפריט.
בשורת התפריט, הזן ולאחר מכן
2הקש על מקש "Enter".אפשרות זו היא מציין מיקום עבור הפונקציונליות "הצג את כל הכלבים עם מאפיין שצוין".
ודא שההודעה
UNDER CONSTRUCTIONמוצגת לבחירהDisplay all dogs with a specified characteristic.עליך לבחון את הפלט הבא:
UNDER CONSTRUCTION - please check back next month to see progress. Press the Enter key to continue.הקלד
exit, בתפריט האפליקציה, כדי לסיים את התוכנית ולאחר מכן סגור את לוח המסוף.התוכנית אמורה לצאת.
כעת אתה מוכן להתחיל לפתח את התכונות החדשות.