כיצד להשתמש בפרמטרים בעלי שם ואופציונלי ב- C #

מיקרוסופט הציגה תמיכה בפרמטרים בעלי שם ואופציונלי ב- C # 4.0. בעוד שפרמטר בשם משמש כדי לציין ארגומנט המבוסס על שם הארגומנט ולא על המיקום, ניתן להשתמש בפרמטר אופציונלי להשמטת פרמטר אחד או יותר בחתימת השיטה. הפרמטרים של שיטה יכולים להיות נדרשים או אופציונליים, תלוי אם אתה צריך להעביר ערך לפרמטרים אלה אם קוראים לשיטה.

יש לציין כי ניתן להשתמש בפרמטרים עם שמות ואופציונליים לא רק בשיטות אלא גם עם אינדקסים ונציגים. מאמר זה דן בשתי התכונות החזקות הללו של שפת התכנות C # וכיצד נוכל לעבוד איתן.

כדי לעבוד עם דוגמאות הקוד המופיעות במאמר זה, עליך להתקין במערכת Visual Studio 2019 שלך. אם עדיין אין לך עותק, תוכל להוריד את Visual Studio 2019 כאן.

צור פרויקט יישום קונסולה ב- Visual Studio

ראשית, בואו ניצור פרויקט יישומי קונסולת .NET Core ב- Visual Studio. בהנחה ש- Visual Studio 2019 מותקן במערכת שלך, בצע את הצעדים המתוארים להלן כדי ליצור פרויקט יישום חדש של מסוף ה- NET Core ב- Visual Studio.

  1. הפעל את Visual Studio IDE.
  2. לחץ על "צור פרויקט חדש".
  3. בחלון "צור פרויקט חדש" בחר "יישום קונסולה (.NET Core)" מרשימת התבניות המוצגות.
  4. הקש "הבא.
  5. בחלון "הגדר את הפרויקט החדש שלך" שמוצג הבא, ציין את השם והמיקום של הפרויקט החדש.
  6. לחץ על צור.

פעולה זו תיצור פרויקט יישום קונסולת .NET Core חדש ב- Visual Studio 2019. נשתמש בפרויקט זה כדי לעבוד עם פרמטרים בעלי שם ואופציונלי בחלקים הבאים של מאמר זה.

השתמש בפרמטרים בעלי שם ב- C #

כאשר אתה קורא לשיטה, קונסטרוקטור, אינדקס או נציג, עליך להעביר טיעונים עבור הפרמטרים הנדרשים, אך אתה רשאי להשמיט ארגומנטים עבור הפרמטרים שהוגדרו כפרמטרים אופציונליים.

ייתכן שתצטרך להתקשר לשיטה הכוללת פרמטרים רבים. וגם כשאתה קורא לשיטה כזו עם הפרמטרים הנדרשים בלבד, לפעמים קשה מאוד להבין איזה טיעון ממפה לאיזה פרמטר. כאן ניצלים חילופי טיעונים.

ארגומנטים בעלי שם בשפת התכנות C # משמשים לקישור שם הארגומנט של שיטה לערכה - כלומר הערך שהועבר כארגומנט בעת קריאת השיטה. יש לציין כי בעת שימוש בארגומנט בעל שם, הארגומנטים מוערכים באותו סדר בו הועברו.

בואו נסתכל על דוגמא. כתוב את השיטה הבאה בשם הוסף בתוך מחלקת התוכנית של פרויקט יישום המסוף החדש שלך.

ציבורי סטטי ציבורי הוסף (int x, int y, int z, int a, int b, int c)

{

   החזר x + y + z + a + b + c;

}

נניח שאתה קורא לשיטת הוסף כפי שמוצג בקטע הקוד שלמטה.

ריק סטטי ראשי (מחרוזת [] טענות)

{

    הוסף (5, 10);

}

הקוד שלעיל לא יעבוד מכיוון שיש שישה פרמטרים נדרשים (אין פרמטרים אופציונליים) בחתימה של שיטת הוספה אך העברת רק שני ארגומנטים. תוצג בפניך השגיאה הבאה.

לפיכך, אתה מוגבל להעביר ערכים לכל אחד מהפרמטרים בכדי לספק את השיחה כפי שמוצג בקטע הקוד המופיע להלן.

ריק סטטי ראשי (מחרוזת [] טענות)

{

   הוסף (5, 10, 8, 2, 3, 6);

}

העניינים מסתבכים כשיש לך שילוב של סוגי נתונים בפרמטרים של שיטה. כדי להמחיש זאת, בואו לשנות את שיטת ההוספה שלנו כפי שמוצג בקטע הקוד הבא.

ציבורי סטטי int הוסף (int x, int y, int z, כפול a, כפול b, כפול c)

{

    להחזיר x + y + z + Convert.ToInt32 (a) + Convert.ToInt32 (b) + Convert.ToInt32 (c);

}

לזכור את סוגי הנתונים של הפרמטרים וכן את מיקומם מסורבל. הפיתרון לכך הוא לנצל את הארגומנטים הנקובים ולהעביר ערכים לשיטה כפי שמוצג בקטע הקוד המופיע להלן.

ריק סטטי ראשי (מחרוזת [] טענות)

{

    הוסף (x: 5, y: 10, z: 8, a: 2.0, b: 3.0, c: 6.0);

}

אתה יכול אפילו לשנות את סדר הארגומנטים שצוינו, כפי שמוצג בקטע הקוד המופיע למטה.

ריק סטטי ראשי (מחרוזת [] טענות)

{

    הוסף (z: 8, x: 5, y: 10, c: 6, a: 2.0, b: 3.0);

}

כל עוד אתה שם את הארגומנטים, אתה יכול להעביר אותם בכל סדר והמהדר לא יסמן שום שגיאה - כלומר, זה תקף לחלוטין ב- C #.

השתמש בפרמטרים אופציונליים ב- C #

פרמטרים אופציונליים בשפת התכנות C # מאפשרים לך לציין ארגומנטים בחתימת שיטה שהמתקשר לשיטה רשאי להשמיט. במילים אחרות, בעוד שאתה חייב לציין ערכים עבור פרמטרים נדרשים, ייתכן שתבחר שלא לציין ערכים עבור פרמטרים אופציונליים. במקרים מסוימים, לפרמטר אופציונלי עשוי להיות משויך גם ערך ברירת מחדל.

ערך ברירת המחדל של פרמטר אופציונלי עשוי לכלול שלושה סוגים של ערכים: ביטוי קבוע, ביטוי שהוא בצורה של סוג ערך, או ביטוי שהוא בצורה של ברירת מחדל (v) כאשר v הוא ערך סוּג.

שיטת הוספה המוצגת בקטע הקוד הבא ממחישה כיצד ניתן לציין ארגומנטים אופציונליים לשיטה ב- C #.

int static public הוסף (int x, int y = 0, int z = 0)

{

    החזר x + y + z;

}

וכאן ניתן לקרוא לשיטת הוספה.

הוסף (10);

מכיוון ששניים מהפרמטרים בשיטת הוספה הם אופציונליים, באפשרותך להעביר ערך שלם יחיד לשיטה בעת קריאה אליו. דאג למלא אחר הסדר הנכון של הגדרת פרמטרים בשיטה. הפרמטרים הנדרשים צריכים להיות ראשונים, ואחריהם פרמטרים אופציונליים אם קיימים.

פרמטרים על שם ואופציונליים הוצגו לשפת התכנות C # על מנת לשפר את יכולת הפעולה ההדדית עם ממשקי API של COM. שימוש בפרמטרים בעלי שם יכול לשפר את קריאות קוד המקור. ותוכל לנצל את הפרמטרים האופציונליים כתחליף לשימוש בשיטות עמוסות יתר כאשר הגדרת השיטה זהה.

כיצד לעשות יותר ב- C #:

  • כיצד להשתמש בממשקים שוטפים ושרשור שיטות ב- C #
  • כיצד בודקים יחידות שיטות סטטיות ב- C #
  • כיצד לשחזר את חפצי אלוהים ב- C #
  • כיצד להשתמש ב- ValueTask ב- C #
  • כיצד להשתמש בבלתי משתנה ב- C
  • כיצד להשתמש בקונסט, בקריאה בלבד ובסטטי ב- C #
  • כיצד להשתמש בהערות נתונים ב- C #
  • כיצד לעבוד עם GUIDs ב- C # 8
  • מתי להשתמש בכיתה מופשטת לעומת ממשק ב- C #
  • כיצד לעבוד עם AutoMapper ב- C #
  • כיצד להשתמש בביטויי למבדה ב- C #
  • כיצד לעבוד עם נציגי Action, Func ו- Predicate ב- C #
  • כיצד לעבוד עם נציגים ב- C #
  • כיצד ליישם לוגר פשוט ב- C #
  • כיצד לעבוד עם תכונות ב- C #
  • כיצד לעבוד עם log4net ב- C #
  • כיצד ליישם את דפוס עיצוב המאגר ב- C #
  • כיצד לעבוד עם השתקפות ב- C #
  • כיצד לעבוד עם מערכת קבצים ב- C #
  • כיצד לבצע אתחול עצל ב- C #
  • כיצד לעבוד עם MSMQ ב- C #
  • כיצד לעבוד עם שיטות הרחבה ב- C #
  • איך לנו ביטויים למבדה ב- C #
  • מתי להשתמש במילת המפתח ההפכפכה ב- C #
  • כיצד להשתמש במילת המפתח תשואה ב- C #
  • כיצד ליישם פולימורפיזם ב- C #
  • כיצד לבנות מתזמן משימות משלך ב- C #
  • כיצד לעבוד עם RabbitMQ ב- C #
  • איך לעבוד עם ציצית ב C #
  • חקר שיטות וירטואליות ומופשטות ב- C #
  • כיצד להשתמש ב- Dapper ORM ב- C #
  • כיצד להשתמש בתבנית העיצוב במשקל זבוב ב- C #