English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي في C#

دليل متقدم في C#

C# موجه إلى الأجرأة (OOP)

وديعة Predicate في C#

Predicate هي مثل Func و Action تمثل. تمثل طريقة تعريف مجموعة من الشروط وتحديد ما إذا كانت الميزة المحددة تتوافق مع هذه الشروط. يتم استخدام هذا الوديعة من قبل عدة طرق من Array و List لبحث عن العناصر في المجموعات. يجب أن يأخذ وديعة Predicate إدخالًا واحدًا ويقوم بإرجاع قيمة بولية true أو false.

تعريف مفهوم Predicate

مفهوم Predicate في المساحة الاسمية System كما هو موضح أدناه:

توقيع Predicate:

public delegate bool Predicate<in T>(T obj);

مثل أنواع الوديعة الأخرى، يمكن استخدام مفهوم Predicate مع أي طريقة، طريقة مجهولة أو تعبير لامبدا.

static bool IsUpperCase(string str)
{
    return str.Equals(str.ToUpper());
{}
static void Main(string[] args)
{
    مفهوم <string> isUpper = IsUpperCase;
    bool result = isUpper("hello world!!");
    Console.WriteLine(result);
{}
الإخراج:
false

مفهوم Predicate مع طريقة مجهولة

يمكن أيضًا تخصيص طريقة مجهولة لتصنيف Predicate كما هو موضح أدناه.

static void Main(string[] args)
{
    مفهوم <string> isUpper = delegate(string s) { return s.Equals(s.ToUpper()); };
    bool result = isUpper("hello world!!");
{}

مفهوم Predicate مع تعبير لامبدا

يمكن أيضًا تخصيص تعبير لامبدا لتصنيف Predicate كما هو موضح أدناه.

static void Main(string[] args)
{
    مفهوم <string> isUpper = s => s.Equals(s.ToUpper());
    bool result = isUpper("hello world!!");
{}

تعليمات المستأجر predicate

  • المستأجر predicate هو مستأجر عام يرجع النوع إليه bool

  • المستأجر Predicate<int> يعني أن الإدخال هو int والنوع المحدد مسبقًا هو bool

  • المستأجر predicate لديه فقط إدخال واحد، والنوع المحدد مسبقًا هو bool

النقاط التي يجب تذكرها

  1. يأخذ المستأجر predicate إدخالًا واحدًا ويعود قيمة من نوع布尔ية.

  2. يمكن تخصيص الأنواع الغامضة وأعطيات Lambda للمستأجر predicate.