תרגיל - הערכת ביטוי
- 11 דקות
לוגיקת החלטה משמשת ליצירת נתיבים חלופיים באמצעות הקוד שלך, שבה ההחלטה לגבי הנתיב למעקב מבוססת על הערכת ביטוי. לדוגמה, ייתכן שתכתוב קוד שמבצע אחד משני נתיבים בהתבסס על קלט של משתמש. אם המשתמש מזין את האות "a", הקוד שלך יבצע בלוק קוד אחד. אם הוא יזין את האות "b", הקוד שלך יבצע בלוק קוד אחר. בדוגמה זו, אתה שולט בנתיב הביצוע בהתבסס על הערך שהוקצה למחרוזת. הקוד שלך בוחר נתיב ביצוע בהתבסס על ביטוי, אופן ההערכה של ביטוי זה והלוגיקה המשמשת המשמשת להגדרת הנתיבים.
בדיקה כיצד לבנות ולהעריך ביטוי היא מקום טוב להתחיל בו.
מהו ביטוי?
ביטוי הוא כל שילוב של ערכים (ליטרלי או משתנה), אופרטורים ושיטות המחזירים ערך יחיד. הצהרה היא הוראה מלאה ב- C#, והצהרה מורכבת מביטוי אחד או יותר. לדוגמה, המשפט ifהבא מכיל ביטוי יחיד שמחזיר ערך בודד:
if (myName == "Luiz")
ייתכן שחשבת שהערך המוחזר על-ידי ביטוי יהיה מספר או אולי מחרוזת. נכון שמפתחי אפליקציות משתמשים בסוגים שונים של ביטויים למטרות שונות. במקרה זה, כאשר אתה מפתח משפט if בחירה, אתה משתמש בביטוי שמחזיר או truefalse. מפתחים מתייחסים לסוג זה של ביטוי כביטוי בוליאני. כאשר הקוד שלך כולל ביטוי בוליאני, ערך ההחזרה הוא תמיד יחיד true או false ערך.
ביטויים בוליאניים חשובים מכיוון שהקוד שלך יכול להשתמש בביטויים אלה כדי להחליט איזה בלוק קוד לבצע.
קיימים סוגים רבים ושונות של אופרטורים שבהם ניתן להשתמש בתוך ביטוי בוליאני. לדוגמה, המשפט if שלעיל משתמש באופרטור השוויון == כדי לבדוק אם משתנה מחרוזת מוקצה לערך מסוים. האופרטור שתבחר יהיה תלוי בנתיבי הקוד הזמינים, בתנאים המשויכים לנתיב וללוגיקה של היישום המשמשת תחילה.
הערכת שוויון ושוויון
אחת מהערכות הקוד הנפוצות ביותר היא בדיקה כדי לראות אם שני ערכים שווים. בעת בדיקת שוויון, תוכל לאתר את אופרטור השוויון == בין שני הערכים הנבדוקים. אם הערכים בכל צד של אופרטור השוויון הם שווי ערך, הביטוי יחזיר true. אחרת, הוא יחזיר false.
מצד שני, ייתכן שתצטרך גם לבדוק אם שני ערכים אינם שווים. כדי לבדוק אי-שוויון, תשתמש באופרטור != שוויון בין שני הערכים.
ייתכן שאתה תוהה מדוע אתה זקוק לאופרטורים של שוויון ושוויון. הסיבה תהפוך לברורה יותר כאשר תלמד כיצד ליצור משפטי הסתעפות ולהחיל לכתוב קוד מהעולם האמיתי. שני אופרטורים שמבצעים משימות הפוכים מאפשרים לך להיות יותר מבטא וקומפקטי.
כעת הגיע הזמן להכין את סביבת הקידוד ולהתחיל לכתוב קוד שמעריכה ביטויים בוליאניים.
הכנת סביבת הקידוד שלך
מודול זה כולל פעילויות מעשיות שמנחה אותך לאורך תהליך הבנייה וההפעלה של קוד הדגמה. מומלץ להשלים פעילויות אלה באמצעות Visual Studio Code כסביבת הפיתוח שלך. השימוש ב- Visual Studio Code עבור פעילויות אלה יעזור לך לכתוב ולבצע קוד בצורה נוחה יותר בסביבת מפתחים המשמשת מומחים ברחבי העולם.
פתח את Visual Studio Code.
באפשרותך להשתמש בתפריט ההתחלה של Windows (או במשאב שווה ערך עבור מערכת הפעלה אחרת) כדי לפתוח את Visual Studio Code.
בתפריט קובץ קוד של Visual Studio, בחר פתח תיקיה.
בתיבת הדו-שיח פתיחת תיקיה, נווט אל תיקיית שולחן העבודה של Windows.
אם יש לך מיקום תיקיה אחר שבו אתה שומר פרוייקטים של קוד, באפשרותך להשתמש במיקום תיקיה זה במקום זאת. להדרכה זו, הדבר החשוב הוא שיהיה לך מיקום שקל לאתר ולזכור.
בתיבת הדו-שיח פתיחת תיקיה, בחר בחר תיקיה.
אם אתה רואה תיבת דו-שיח של אבטחה השואלת אם אתה נותן אמון בעורכים, בחר כן.
בתפריט מסוף קוד Visual Studio , בחר מסוף חדש.
שים לב שבקשה לפקודה בלוח המסוף מציגה את נתיב התיקיה עבור התיקיה הנוכחית. לדוגמה:
C:\Users\someuser\Desktop>הערה
אם אתה עובד במחשב שלך ולא בסביבת ארגז חול או סביבה מתארחת והשלמת מודולים אחרים של Microsoft Learn בסדרת C# זו, ייתכן שכבר יצרת תיקיית פרוייקט עבור דוגמאות קוד. במקרה זה, באפשרותך לדלג על השלב הבא, המשמש ליצירת יישום מסוף בתיקיה TestProject.
בשורת הפקודה של המסוף, כדי ליצור יישום מסוף חדש בתיקיה שצוינה, הזן את הבקשה הבאה:
dotnet new console -o ./CsharpProjects/TestProjectפקודה זו של .NET CLI משתמשת בתבנית של תוכנית .NET כדי ליצור פרוייקט יישום חדש של מסוף C# במיקום התיקיה שצוין. הפקודה יוצרת עבורך את התיקיות CsharpProjects ו- TestProject, ומשתמשת ב- TestProject כשם
.csprojהקובץ.אם מוצגת הודעה המציינת שהקבצים כבר קיימים, המשך לשלבים הבאים. תוכל לעשות שימוש חוזר בקובצי הפרוייקט הקיימים.
בתצוגת EXPLORER, הרחב את התיקיה CsharpProjects .
אתה אמור לראות את התיקיה TestProject ושני קבצים, קובץ תוכנית C# בשם Program.cs וקובץ פרוייקט C# בשם TestProject.csproj.
בתפריט קובץ קוד של Visual Studio, בחר פתח תיקיה.
בתיבת הדו-שיח פתיחת תיקיה, בחר את התיקיה CsharpProjects ולאחר מכן בחר בחר תיקיה.
בתצוגת EXPLORER, הרחב את התיקיה TestProject ולאחר מכן בחר Program.cs.
מחק את שורות הקוד הקיימות.
יהיה עליך להשתמש בפרוייקט זה של מסוף C# כדי ליצור, לבנות ולהפעיל דוגמאות קוד במהלך מודול זה.
סגור את לוח המסוף.
שימוש באופרטור שוויון
ודא שהאפשרות קוד Visual Studio פתוחה Program.cs בלוח 'עורך'.
הערה
Program.cs צריך להיות ריק. אם לא, בחר ומחק את כל שורות הקוד.
הקלד את הקוד הבא בעורך הקוד של Visual Studio.
Console.WriteLine("a" == "a"); Console.WriteLine("a" == "A"); Console.WriteLine(1 == 2); string myValue = "a"; Console.WriteLine(myValue == "a");בתפריט קוד Visual Studio קובץ, בחר שמור.
יש Program.cs הקובץ לפני בנייה או הפעלה של הקוד.
בלוח EXPLORER, כדי לפתוח מסוף במיקום התיקיה TestProject, לחץ באמצעות לחצן העכבר הימני על TestProjectולאחר מכן בחר פתח במסוף משולב.
לוח מסוף ייפתח. המסוף צריך לכלול שורת פקודה שמראה כי המסוף פתוח במיקום התיקיה TestProject שלך.
בשורת הפקודה Terminal, כדי להפעיל את הקוד, הקלד dotnet מכן הקש Enter.
הערה
אם אתה רואה הודעה המציינת כי "לא היתה אפשרות למצוא פרוייקט להפעלה", ודא שבקשה לפקודה של Terminal מציגה את מיקום התיקיה TestProject הצפוי. לדוגמה:
C:\Users\someuser\Desktop\csharpprojects\TestProject>אתה אמור לראות את הפלט הבא.
True False False True
שיפור בדיקת השוויון בין מחרוזות באמצעות שיטות העזרה המוכללות של המחרוזת
ייתכן שתופתע שהפלט של הקו Console.WriteLine("a" == "A"); .false בעת השוואת מחרוזות, יש חשיבות למקרה.
כמו כן, שקול שורת קוד זו:
Console.WriteLine("a" == "a ");
כאן הוספת תו רווח בסוף המחרוזת. ביטוי זה גם יפלט false.
במקרים מסוימים, הוספת תו רווח לפני או אחרי הטקסט עשויה להיות קבילה לחלוטין. עם זאת, אם עליך לקבל התאמה שאינה מדויקת, באפשרותך "לעסה" את הנתונים תחילה. המשמעות של "עיסוי" של הנתונים היא שאתה מבצע ניקוי לפני ביצוע השוואה של שוויון.
לדוגמה, שקול את המקרה כאשר אתה אוסף קלט משתמש בתוך לולאה. לאחר הזנת כל ערך, באפשרותך לספק למשתמש בקשה לקבוע אם הוא מעוניין להמשיך, כגון Do you want to continue (Y/N)?. אם המשתמש מעוניין להמשיך, סביר להניח שהוא יזין או yY. מומלץ שהקוד יפרש את שני הערכים באופן שווה, למרות שאינו y שווה ערך ל- Y.
לפני שתבדוק שני ערכי מחרוזת עבור שוויון, במיוחד כאשר אחד מהערכים או שניהם הוזנו על-ידי משתמש, עליך:
- ודא שכל המחרוזות הן אותיות רישיות
ToUpper()או קטנות כולן באמצעות פעולת השירות אוToLower()פעולת השירות ל'עוזר' בכל ערך מחרוזת. - הסר רווחים ריקים מובילים או נגררים באמצעות פעולת
Trim()השירות המסייעת בכל ערך מחרוזת.
באפשרותך לשפר את בדיקת השוויון הקודמת על-ידי שרשור שתי שיטות עוזרות אלה בשני הערכים, כפי שמוצג ב רישום הקוד הבא:
החלף את הקוד בעורך הקוד של Visual Studio בקוד הבא:
string value1 = " a"; string value2 = "A "; Console.WriteLine(value1.Trim().ToLower() == value2.Trim().ToLower());שמור את קובץ הקוד ולאחר מכן השתמש ב- Visual Studio Code כדי להפעיל את הקוד.
שים לב כי כאשר אתה מפעיל את הקוד הפעם, הוא פלט True.
שימוש באופרטור שוויון
השתמש באופרטור הערת
//השורה כדי להוסיף הערות לכל הקוד מהצעד הקודם.הקלד את הקוד הבא בעורך הקוד של Visual Studio.
Console.WriteLine("a" != "a"); Console.WriteLine("a" != "A"); Console.WriteLine(1 != 2); string myValue = "a"; Console.WriteLine(myValue != "a");שמור את קובץ הקוד ולאחר מכן השתמש ב- Visual Studio Code כדי להפעיל את הקוד.
אתה אמור לראות את הפלט הבא.
False True True False
כפי שהיית מצפה, התוצאה בעת שימוש באופרטור אי-השוויון היא ההיפך ממה שראית בעת שימוש באופרטור שוויון. משמעות הדבר היא שהקוד שלך י להסתעף גם באופן ההפוך, וזה יכול להיות בדיוק מה שאתה רוצה.
הערכת השוואות
בעת עבודה עם סוגי נתונים מספריים, ייתכן שתרצה לקבוע אם ערך גדול או קטן מערך אחר. השתמש באופרטורים הבאים כדי לבצע השוואות מסוגים אלה:
- גדול מ
> - קטן מ
< - גדול או שווה ל
>= - קטן או שווה ל
<=
באופן טבעי, == האופרטורים != וה- ושבהם השתמשת כדי להשוות ערכי מחרוזת לעיל יפעלו גם בעת השוואת סוגי נתונים מספריים.
שימוש באופרטורים של השוואה
השתמש באופרטור הערת
//השורה כדי להוסיף הערות לכל הקוד מהמשימה הקודמת.הקלד את הקוד הבא בעורך הקוד של Visual Studio.
Console.WriteLine(1 > 2); Console.WriteLine(1 < 2); Console.WriteLine(1 >= 1); Console.WriteLine(1 <= 1);שמור את קובץ הקוד ולאחר מכן השתמש ב- Visual Studio Code כדי לבנות ולהפעיל את הקוד שלך.
אתה אמור לראות את הפלט הבא:
False True True True
פעולות שירות שמחזירות ערך בוליאני
פעולות שירות מסוימות מחזירות ערך בוליאני ( אוtruefalse). בתרגיל הבא, String תשתמש בשיטה מוכללת של הכיתה כדי לקבוע אם מחרוזת גדולה יותר מכילה מילה או צירוף מילים ספציפיים משמעותיים לאפליקציה שלך.
הערה
סוגי נתונים מסוימים כוללים שיטות המבצעות משימות שימושיות של כלי שירות. סוג String הנתונים מכיל רבים מסוגים אלה. כמה מחזירות ערך בוליאני, כולל Contains(), StartsWith()ו- EndsWith(). באפשרותך לקבל מידע נוסף אודותיהם במודול Microsoft Learn "טיפול בנתונים אלפאנומריים באמצעות שיטות מחלקת מחרוזות ב- C#".
שימוש בפעולת שירות המחזירה ערך בוליאני
השתמש באופרטור הערת
//השורה כדי להוסיף הערות לכל הקוד מהצעד הקודם.הקלד את הקוד הבא בעורך הקוד של Visual Studio.
string pangram = "The quick brown fox jumps over the lazy dog."; Console.WriteLine(pangram.Contains("fox")); Console.WriteLine(pangram.Contains("cow"));שמור את קובץ הקוד ולאחר מכן השתמש ב- Visual Studio Code כדי לבנות ולהפעיל את הקוד שלך.
אתה אמור לראות את הפלט הבא.
True False
מהי שלילה לוגית?
המונח "שלילה לוגית" מתייחס לאופרטור שלילה אונוארית !. חלק מהאנשים קוראים לאופרטור זה "לא אופרטור". כאשר אתה ממקם ! את האופרטור לפני ביטוי מותנה (truefalseאו כל קוד המוערך ל- או ), הוא כופה על הקוד להפוך את הערכת האופרנד שלו. בעת החלת שלילה לוגית, true ההערכה מפיקה את , false אם האופרנד מוערך כ- , false ו- , אם האופרנד מוערך כ- true.
להלן דוגמה שעשויה לעזור לך לראות את החיבור בין רעיונות אלה. שתי שורות הקוד הבאות מפיקות את אותה תוצאה. השורה השניה קטנה יותר.
// These two lines of code will create the same output
Console.WriteLine(pangram.Contains("fox") == false);
Console.WriteLine(!pangram.Contains("fox"));
שימוש באופרטור 'שלילה לוגית'
השתמש באופרטור הערת
//השורה כדי להוסיף הערות לכל הקוד מהצעד הקודם.הקלד את הקוד הבא בעורך הקוד של Visual Studio.
string pangram = "The quick brown fox jumps over the lazy dog."; Console.WriteLine(!pangram.Contains("fox")); Console.WriteLine(!pangram.Contains("cow"));שמור את קובץ הקוד ולאחר מכן השתמש ב- Visual Studio Code כדי לבנות ולהפעיל את הקוד שלך.
אתה אמור לראות את הפלט הבא.
False True
אופרטור שוויון לעומת שלילה לוגית
אופרטור השוויון כולל != תו ! , אך אין לבלבל אותו עם שלילה לוגית. אופרטור השוויון מחזיר אם true האופרנדים שלו אינם שווים, false ומחזיר אם האופרנדים שווים. עבור האופרנדים של הסוגים המוכללים, x != y!(x == y) הביטוי מפיק אותה תוצאה כמו הביטוי (דוגמה של שלילה לוגית).
דוגמת הקוד הבאה מדגימה את השימוש באופרטור != :
int a = 7;
int b = 6;
Console.WriteLine(a != b); // output: True
string s1 = "Hello";
string s2 = "Hello";
Console.WriteLine(s1 != s2); // output: False
תקציר
הנה המלקחיים העיקריים שלמדת על הערכת ביטויים בוליאניים עד כה:
- יש סוגים רבים ושונות של ביטויים המוערכים ל-
trueאו ל-false. - הערך שוויון באמצעות האופרטור
==. - הערכת שוויון מחרוזות דורשת ממך לשקול אפשרות שלמחרוזת יש רישיות שונה ורווחים מובילים או נגררים. בהתאם למצבך, השתמש בשיטות
ToLower()ToUpper()או בשיטות התמיכה כדיTrim()לשפר את הסבירות לכך ש- שתי מחרוזות שוות. - הערך אי-שוויון באמצעות האופרטור
!=. - הערך פעולות שגודלן עולה על, קטן מ- ופעולות דומות באמצעות אופרטורים של השוואה
>כגון ,<,>=, ו-<=. - אם פעולת שירות מחזירה ערך בוליאני, ניתן להשתמש בה כביטוי בוליאני.
- השתמש באופרטור שלילה לוגית
!כדי להעריך את ההיפך מביטוי נתון.
בדוק את הידע שלך
משוב
האם עמוד זה היה מועיל?
לא
זקוק לעזרה בנושא זה?
רוצה לנסות להשתמש ב'שאל את Learn' כדי להבהיר או להדריך אותך בנושא זה?