מדריך C# – פונקציות

‏ • Sela

בחלק זה נלמד כיצד להגדיר ולהשתמש בפונקציות.

מה זה פונקציה?

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

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

בנוסף נשים לב שבכל תוכנית שאנו כותבים יש לפחות פונקציה אחת, והיא הפונקציה Main. פונקציה זו היא נקודת הפתיחה של התוכנית שלנו:

static void Main(string[] args)
{

}

כיצד מגדירים פונקציה?

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

ראשית נציין שהגדרת פונקציה נמצאת מחוץ להגדרה של הפונקציה Main אבל בתוך המחלקה שבה אנו נמצאים.

לדוגמא אם הקוד שנוצר כאשר אנו פותחים פרויקט חדש הוא:

using System;
using System.Collections.Generic;
using System.Linq;
using
System.Text;

namespace
ConsoleApplication1
{
   
class Program
    {
       
static void Main(string[] args)
        {

        }
    }
}

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

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

לצורך הבנה של מיקום הפונקציה ביחס לפונקציה Main נביא את הקוד במלואו:

using System;
using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            PrintNameTwoTimes();
        }

        static void PrintNameTwoTimes()
        {
            Console.Write("Enter name: ");
            string name = Console.ReadLine();
            Console.WriteLine(name);
            Console.WriteLine(name);
        }
    }
}

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

שימו לב שאם לא היינו קוראים לפונקציה, התוכנית לא הייתה מבצעת דבר!

הריצה של התוכנית מתחילה תמיד מפונקציית הMain ומבצעת רק מה שכתוב שם.

דוגמא נוספת לפונקציה

כעת נכתוב פונקציה שמחשבת את סכום המספרים 1 עד 100 ומדפיסה אותו למסך.

נקרא לפונקציה זו פעמיים מתוך פונקציית ה Main:

class Program
{
   
static void Main(string
[] args)
    {
        PrintSum1To10();
        PrintSum1To10();
    }

   
static void
PrintSum1To10()
    {
       
int
sum = 0;
       
for (int
i = 1; i <= 10; ++i)
        {
            sum += i;
        }
       
Console.WriteLine(sum);
    }
}

תגיות: , , ,

arikp

אריק פוזננסקי הוא יועץ בכיר ומרצה בסלע. הוא השלים שני תארי B.Sc. במתמטיקה ומדעי המחשב בהצטיינות יתרה בטכניון. לאריק ידע נרחב בטכנולוגיות מיקרוסופט, כולל .NET עם C#, WPF, Silverlight, WinForms, Interop, COM/ATL, C++ Win32 ו reverse engineering.

תגובות בפייסבוק