تعبير دالة

يعرّف المعلمات و التعليمات البرمجية التي تعرّف تعبير لامدا.

Function ( [ parameterlist ] ) expression
- or -
Function ( [ parameterlist ] ) _
  expression

الأجزاء

  • parameterlist
    اختياري. قائمة من أسماء متغيرات محلية التي تمثل المعلمات لهذا الإجراء. يجب أن تكون الأقواس موجودة حتى و إن كانت القائمة فارغة. انظر قائمة المعلمة

  • expression
    مطلوبة. تعبير فردي. قيمة التعبير تحدد نوع الدالة و القيمة المرجعة عندما تستدعى الدالة.

ملاحظات

تعبير لامدا هو دالة بدون اسم الذي يحسب و يرجع قيمة مفردة. يمكنك استخدام تعبير لامدا في أي مكان تستطيع فيه استخدام نوع تفويض، ماعدا وسيطة إلى RemoveHandler. لمزيد من المعلومات حول المفوضات، و استخدام تعبيرات لامدا مع مفوضات، راجع عبارة التفويض و تحويل حالة التفويض.

بناء جملة تعبير لامدا

بناء جملة تعبير لامدا تمثل تلك خاصة الدالة القياسية. الاختلافات هي التالي:

  • تعبير لامدا ليس له اسم.

  • تعبيرات لامدا لايمكن له معدلات، مثل Overloads أو Overrides.

  • تعبيرات لامدا لاتستخدم بند As للإشارة إلى نوع الإرجاع الخاص بالدالة. بدلاً من ذلك، يستدل على النوع من القيمة التي تقيم من نص تعبير لامدا. على سبيل المثال، إذا كان نص تعبير لامدا Where cust.City = "London", يكون نوع الإرجاع له Boolean.

  • نص الدالة يجب أن يكون تعبير، و ليس عبارة. يمكن للنص أن يتكون من استدعاء لإجراء دالة، لكن ليس استدعاء إلى إجراء فرعي.

  • لايوجد عبارة Return. القيمة المرجعة من قبل الدالة هي القيمة التعبير في نص الدالة.

  • لايوجد عبارة End Function.

  • إما يجب أن يكون لكل المعلمات أنواع بيانات محددة أو يجب أن تكون كلها مشارة.

  • المعلمات الاختيارية و Paramarray غير مسموح بها.

  • المعلمات العامة غير مسموح بها.

كنتيجة لتلك القيود، و لطرق استخدام تعبيرات لامدا، هي عادةً قصيرة و غير معقدة.

مثال

يظهر المثال التالي طريقتين لإنشاء تعبيرات لامدا بسيطة. يستخدم الأول Dim لتوفير اسم للدالة. لاستدعاء الدالة، قم بإرسال قيمة للمعلمة.

Dim add1 = Function(num As Integer) num + 1
' The following line prints 6.
Console.WriteLine(add1(5))

بدلا من ذلك، يمكنك تعريف و تشغيل الدالة في نفس الوقت.

Console.WriteLine((Function(num As Integer) num + 1)(5))

تخفي تعبيرات لامدا العديد من عوامل تشغيل الاستعلام في مجموعة ميزات Language-Integrated Query‏ (LINQ)، و يمكن استخدامها بشكل صريح في استعلامات مستندة على الأسلوب. تظهر الأمثلة التالية استعلام LINQ نموذجي، متبوع بترجمة للاستعلام لتنسيق أسلوب.

Dim londonCusts = From cust In db.Customers 
                  Where cust.City = "London" 
                  Select cust

' This query is compiled to the following code:
Dim londonCusts = db.Customers.
    Where(Function(cust) cust.City = "London"). 
    Select(Function(cust) cust)

لمزيد من المعلومات حول أساليب الاستعلام، راجع استعلامات (Visual Basic). لمزيد من المعلومات حول عوامل استعلام قياسية، راجع نظرة عامة على عوامل تشغيل الاستعلام القياسية.

راجع أيضًا:

المرجع

كشف دالة (Visual Basic)

عامل تشغيل If

المبادئ

تعبيرات لامدا

عوامل التشغيل و التعبيرات في Visual Basic

مقارنات القيمة

تعبيرات Boolean

تحويل حالة التفويض

موارد أخرى

العبارات في Visual Basic