التابع function : هو كتلة من التعليمات البرمجية يتم تشغيلها فقط عند استدعائها.
كود انشاء تابع و استدعاؤه :
static void MyMethod()
{
Console.WriteLine("I just got executed!");
}
static void Main(string[] args)
{
MyMethod();
}
// Outputs "I just got executed!"
كود استدعاء تابع لاكثر من مرة :
static void MyMethod()
{
Console.WriteLine("I just got executed!");
}
static void Main(string[] args)
{
MyMethod();
MyMethod();
MyMethod();
}
// I just got executed!
// I just got executed!
// I just got executed!
كود استدعاء تابع ذو وسيط :
static void MyMethod(string fname)
{
Console.WriteLine(fname + " Refsnes");
}
static void Main(string[] args)
{
MyMethod("Liam");
MyMethod("Jenny");
MyMethod("Anja");
}
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes
مثال عن القيمة الافتراضية لوسيط في تابع :
static void MyMethod(string country = "Norway")
{
Console.WriteLine(country);
}
static void Main(string[] args)
{
MyMethod("Sweden");
MyMethod("India");
MyMethod();
MyMethod("USA");
}
// Sweden
// India
// Norway
// USA
كود استدعاء تابع له عدة وسطاء :
static void MyMethod(string fname, int age)
{
Console.WriteLine(fname + " is " + age);
}
static void Main(string[] args)
{
MyMethod("Liam", 5);
MyMethod("Jenny", 8);
MyMethod("Anja", 31);
}
// Liam is 5
// Jenny is 8
// Anja is 31
كود استدعاء تابع يعيد قيمة :
static int MyMethod(int x)
{
return 5 + x;
}
static void Main(string[] args)
{
Console.WriteLine(MyMethod(3));
}
// Outputs 8 (5 + 3)
كود تابع جمع عددين :
static int MyMethod(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
Console.WriteLine(MyMethod(5, 3));
}
// Outputs 8 (5 + 3)
نفس الكود السابق لكن بتخزين الناتج في متغير :
static int MyMethod(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
int z = MyMethod(5, 3);
Console.WriteLine(z);
}
// Outputs 8 (5 + 3)
Method Overloading
مع طريقة التحميل الزائد ، يمكن أن يكون للطرق(التوابع) المتعددة نفس الاسم بوسطاء مختلفة:
مثال عن method overload في تابع الجمع :
static int PlusMethod(int x, int y)
{
return x + y;
}
static double PlusMethod(double x, double y)
{
return x + y;
}
static void Main(string[] args)
{
int myNum1 = PlusMethod(8, 5);
double myNum2 = PlusMethod(4.3, 6.26);
Console.WriteLine("Int: " + myNum1);
Console.WriteLine("Double: " + myNum2);
}