מבוא לפונקציות ב- C #

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

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

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

שיטת המופע

ישנם שני סוגים של שיטות: שיטת מופע ושיטה סטטית. הקדמה זו מכסה את שיטת המופע.

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

אפשר שתהיה כיתה ריקה כזו מבחן כיתה {}, אבל זה לא שימושי. למרות שהוא נראה ריק, הוא - כמו כל מחלקות C # - יורש מהאובייקט שמכיל אותו וכולל ברירת מחדל בנאי בתוכנית הראשית.

var t = מבחן חדש ();

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

באמצעות מערכת;
מרחב השמות funcex1
{
מבחן כיתה
{
חלל ציבורי SayHello ()
instagram viewer

{
קונסולה. WritLine ("שלום");
}
}
תוכנית בכיתה
{
static void ראשי (מחרוזת [] args)
{
var t = מבחן חדש ();
t. תגיד שלום() ;
קונסולה. ReadKey ();
}
}
}

דוגמת קוד זו כוללת קונסולה. ReadKey (), כך שכאשר הוא פועל, הוא מציג את חלון המסוף ומחכה לרשומת מקשים כמו Enter, Space או Return (לא מקש Shift, Alt או Ctrl). בלעדיו זה היה פותח את חלון המסוף, פלט "שלום" ואז סוגר את הכל כהרף עין.

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

אם תסיר את המילה ציבורי ולנסות לקמפל את הקוד, הוא נכשל בשגיאת הידור "funcex1.test. SayHello () 'אינו נגיש בגלל רמת ההגנה שלו. "אם אתה מוסיף את המילה" פרטי "במקום בו הייתה המילה public ושחזר אותה מחדש, אתה מקבל אותה שגיאת קומפילציה. פשוט שנה אותו בחזרה ל"ציבורי ".

המילה בטל בפונקציה פירושו שהפונקציה אינה מחזירה ערכים כלשהם.

מאפייני הגדרת פונקציה אופייניים

  • רמת גישה: ציבורית, פרטית ועוד כמה אחרות
  • ערך החזרה>: בטל או כל סוג שהוא כגון int
  • שם השיטה: SayHello
  • כל פרמטרי שיטה: אין לעת עתה. אלה מוגדרים בסוגריים () על שם שם השיטה

הקוד להגדרת פונקציה אחרת, MyAge (), הוא:

ציבורי ב MyAge ()
{
החזר 53;
}

הוסף את זה מיד אחרי תגיד שלום() בדוגמה הראשונה ולהוסיף שתי שורות אלה לפני קונסולה. ReadKey ().

var גיל = t. הגיל שלי();
קונסולה. WritLine ("דיוויד בן {0} שנים", גיל);

הפעלת התוכנית מציגה כעת את זה:

שלום
דייויד בן 53,

ה var גיל = t. הגיל שלי(); קריאה לשיטה החזירה את הערך 53. זו לא הפונקציה הכי שימושית. דוגמה שימושית יותר היא פונקציית הגיליון האלקטרוני Sum עם מערך של אינץ, אינדקס ההתחלה ומספר הערכים לסכום.

זו הפונקציה:

סכום לציפה ציבורית (int [] ערכים, int startindex, int endindex)
{
var סה"כ = 0;
עבור (var index = startindex; אינדקס <= endindex; אינדקס ++)
{
סה"כ + = ערכים [אינדקס];
}
סה"כ תשואה;
}

להלן שלושה מקרי שימוש. זה הקוד להוסיף ב- Main () ולהתקשר לבדיקת פונקציית הסכום.

ערכי var = = int חדש [10] {1, 2, 3, 4, 5, 6, 7, 8, 9,10};
קונסולה. WritLine (t. סכום (ערכים, 0,2)); // צריך להיות 6
קונסולה. WritLine (t. סכום (ערכים, 0,9)); // צריך להיות 55
קונסולה. WritLine (t. סכום (ערכים, 9,9)); // צריך להיות 10 כערך 9 הוא 10

ה ל לולאה מוסיף את הערכים בטווח startindex ל- endindex, כך שעבור startindex = 0 ו- endindex = 2, זהו הסכום של 1 + 2 + 3 = 6. בעוד שעבור 9,9, זה רק מוסיף את הערכים היחידים [9] = 10.

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