الثلاثاء، 12 نوفمبر 2013

C# - Methods أساسيات البرمجة سي شارب الدوال

C# - Methods  أساسيات البرمجة سي شارب الدوال

الدالة : عبارة عن مجموعة من الاوامر تقوم بتفيذ مهمة معينة. والهدف من استخدام الدوال في البرمجة.

  1. تنظيم الكود ليسهل اقتناص الاخطاء.
  2. اعادة استخدام الكود اكثر من مرة.
  3. اختصار الكود البرمجي.

method-csharp

لاستخدام الدوال يلزم منا :-
  1. تعريف الدوال.
  2. واستدعاء الدوال.

أولا تعريف الدالة :-

<محدد الوصول> <النوع البيانات المرجع> <اسم الدالة>(قائمة البارميترات)
{
الاكواد
}

هيكل الدالة:
  1.  محددات الوصول Access specifier تم شرحا مسبقا للمراجعة اضغط محددات الوصول.
  2. نوع البيانات المرجع هو نوع البيانات التي تعيده للدوال التي تعيد قيمة باستخدام الكلمة ٌReturn وهي كلمة محجوزة من اللغة  وفي حال كانت الدالة لا تعيد قيمة نستخدم الكلمة المحجوزة void. للمزيد حول أنواع البيانات.
  3. قائمة الباراميترات هي عبارة عن متغيرات يتم تمريرها للدالة بهذف تمرير البيانات واستقبال هذه البيانات من قبل الدالة لاجراء عليها العمليات وغيرها ويجب التقيد بترتيب المتغيرات وانواعها عند تمرير اكثر من باراميتر.
  4. جسد الدالة ويقع بين علامتي {} الحاصرتين ويحتوي على مجموعة التعليمات البرمجية التي تهدف لانجاز مهمة معينة.


مثال:-
في المثال التالي أنشت دالة بسيطة لايجاد الرقم الاكبر من بين رقمين ويمكن الاستفادة في كتابة الجمل الشرطية بمراجعة الجمل الشرطية ومخططط الخوارزميات

class NumberManipulator
{
           public int FindMax(int num1, int num2)
             {
                   /* تعريف المتغيرات */
                   int result;
                   if (num1 > num2)
                             result = num1;
                             else
                              result = num2;
                           return result;
             }
... // تشير الى باقي الكود في برنامجك
}

استدعاء الدالة

using System;
    namespace CalculatorApplication
      {
          class NumberManipulator
            {
               public int FindMax(int num1, int num2)
                {
                       /* المتغيرات */
                      int result;
                     if (num1 > num2)
                      result = num1;
                       else
                     result = num2;
                      return result;
               }
               static void Main(string[] args)
                {
                        /* متغيرات محلية*/
                        int a = 100;
                        int b = 200;
                        int ret;
                        NumberManipulator n = new NumberManipulator();
                       //استدعاء الدالة
                      ret = n.FindMax(a, b);
                      Console.WriteLine("Max value is : {0}", ret );
                      Console.ReadLine();
          }
}

ناتج الكود
Max value is : 200

استداعاء الدالة عن طريق كائن منشأ من الفئة التي تحتوي على الدالة . لاحظ المثال.
using System;
namespace CalculatorApplication
  {
    class NumberManipulator
      {
         public int FindMax(int num1, int num2)
        {
         /* المتغيرات */
         int result;
       if (num1 > num2)
       result = num1;
      else
      result = num2;
      return result;
      }
}
class Test
  {
    static void Main(string[] args)
          {
             /* المتغيرات*/
            int a = 100;
           int b = 200;
           int ret;
          NumberManipulator n = new NumberManipulator();
            //استدعاء الدالة
           ret = n.FindMax(a, b);
           Console.WriteLine("Max value is : {0}", ret );
        Console.ReadLine();
          }
  }
}


ناتج الكود
Max value is : 200



الدالة التكرارية هي دالة تستدعي نفسها أكثر من مرة حتى يبطل الشرط.
using System;
namespace CalculatorApplication
{
    class NumberManipulator
      {
        public int factorial(int num)
       {
        /* تعريف المتغيرات */
        int result;
        if (num == 1)
        {
        return 1;
        }
         else
       {
         result = factorial(num - 1) * num;
         return result;
         }
}
static void Main(string[] args)
{
           NumberManipulator n = new NumberManipulator();
          //استدعاء الدالة
          Console.WriteLine("Factorial of 6 is : {0}", n.factorial(6));
          Console.WriteLine("Factorial of 7 is : {0}", n.factorial(7));
          Console.WriteLine("Factorial of 8 is : {0}", n.factorial(8));
          Console.ReadLine();
    }
    }
}


الناتج
Factorial of 6 is: 720
Factorial of 7 is: 5040
Factorial of 8 is: 40320





نوع البارميترالوصف

الباراميتر ذات القيمة

يتم نسخ القيمة الفعلية للمتغيرات عبر الوسطاء (الباراميترات) الى الدالة دون التغيرفي قيمة المتغيرات.للمزيد حول المتغيرات ذات القيمة.

الباراميتر ذات المرجع

تشبه النوع السابق الا ان اي تغير في قيمة المتغيرات يتم داخل الدالة فانه يغير من  قيمتها خارج الدالة لانه مرجعية . للمزيد حول البيانات المرجعية.

البارامينر الذي يعيد قيمة

تعيد اكثرمن قيمة

<<<<< السابق ماهي الكبسلة في سي شارب  <<<<

>>>>C# - Passing Parameters by Value البارميترات ذات القيمة >>>>


اقراء أيضا

تعريف الدوال في البي اتش بي PHP

لمتابعتي
تويتر: @aalmahallawi
IT Help Desk,
SEO Arabic Expert ,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984

التسميات: