اذهب إلى المحتوى
  • 0

ما الفرق بين المفاهيم delegate, action, predicate, func في #C

Ahmed Yehia2

السؤال

Recommended Posts

  • 1

Delegate هي الأصناف التي تمثل الإشارة إلى تابع آخر ما، يندرج ضمن هذه العائلة الثلاثة أصناف التالية:

  • Action: يشير إلى تابع لا يعيد قيمة أي يعيد void، كما التابع التالي:
    static void say(string message)  
    {  
      Console.WriteLine(message);  
    }
    
    Action<string> sayAction = new Action<string>(say); // مؤشر للتابع السابق
    sayAction.Invoke("Hello World!");  // استدعاء المؤشر

     

  • Func: يشير إلى تابع ما ويمكننا عبره تحديد نوع كل من المعاملات والنوع الذي يعيده ذلك التابع، مثال:
    static int sum(int x, int y)  
    {  
      return x + y;  
    }
    
    Func<int, int, int> sumFunc = new Func<int, int, int>(sum);  // مؤشر للتابع السابق
    int result = sumFunc(1, 5); // استدعاء المؤشر

     

  • Predicate: يشير إلى تابع دومًا يعين قيمة بوليانية bool، ويمكننا تحديد نوع معاملات ذلك التابع أيضًا، مثال
    static bool IsEven(int number)  
    {  
      return number % 2 == 0;  
    } 
    
    Predicate<int> isEvenPredicate = new Predicate<int>(IsEven);  // مؤشر للتابع السابق
    isEvenPredicate(11); // استدعاء المؤشر

     

يمكنك القراءة عن ذلك أكثر ضمن المقال التالي

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...