פרמטרים אופציונליים
חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 52 מתוך 69.
ב-C#, אפשר להגדיר פרמטרים אופציונליים במתודה על ידי ציון ערך ברירת מחדל בחתימת המתודה. כך אפשר לקרוא למתודה עם ציון הארגומנט של הפרמטר או בלעדיו. אם הארגומנט לא צוין, נעשה שימוש בערך ברירת המחדל.
הנה התחביר הבסיסי להגדרת פרמטר אופציונלי:
access_modifier return_type method_name(parameter_type parameter_name = default_value) {
// גוף המתודה
}לדוגמה:
public void Greet(string name = "Guest") {
Console.WriteLine("Hello, " + name + "!");
}בדוגמה הזו, למתודה Greet יש פרמטר אופציונלי name עם ערך ברירת מחדל "Guest". אפשר לקרוא למתודה הזו בשתי דרכים:
Greet("Alice"); // פלט: Hello, Alice!
Greet(); // פלט: Hello, Guest!אם תספק ארגומנט עבור name, הוא ישמש. אם תשמיט את הארגומנט, ייעשה שימוש בערך ברירת המחדל "Guest".
פרמטרים אופציונליים חייבים להופיע אחרי כל הפרמטרים הנדרשים בחתימת המתודה. אפשר להגדיר כמה פרמטרים אופציונליים, אך מרגע שהגדרת פרמטר אופציונלי, גם כל הפרמטרים שאחריו חייבים להיות אופציונליים.
אתגר
קלצור מתודה בשם DisplayMessage שמקבלת שני פרמטרים:
- פרמטר מחרוזת נדרש בשם
message. - פרמטר מספר שלם אופציונלי בשם
repeatCountעם ערך ברירת מחדל של1.
המתודה צריכה להדפיס את message למסוף repeatCount פעמים. אם לא מציינים את repeatCount בעת קריאה למתודה, ערך ברירת המחדל שלו יהיה 1.
כך תיראה קריאה למתודה:
DisplayMessage("Hello!"); // Prints "Hello!" once
DisplayMessage("Coddy", 3); // Prints "Coddy" three timesנסו בעצמכם
using System;
public class Program {
// צרו כאן את המתודה DisplayMessage
public static void Main(string[] args) {
DisplayMessage("Hello!");
DisplayMessage("Coddy", 3);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה אחרי הפעולהקיצורים אריתמטיים10מתודות (פונקציות)
הגדרת מתודותפרמטרים של מתודותטיפוסי החזרהפרמטרים אופציונלייםסיכום — פונקציית אימותמתודות ללא ערך החזרה5אופרטורים חלק 2
אופרטורי השוואהאופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום — לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר C# אונליין