Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir işlev lambda ifadesi tanımlayan parametreleri ve kodu bildirir.
Sözdizimi
Function ( [ parameterlist ] ) expression
- or -
Function ( [ parameterlist ] )
[ statements ]
End Function
Parçalar
| Süre | Tanım |
|---|---|
parameterlist |
Opsiyonel. Bu yordamın parametrelerini temsil eden yerel değişken adlarının listesi. Liste boş olsa bile parantezlerin mevcut olması gerekir. Bkz . Parametre Listesi. |
expression |
Gerekli. Tek bir ifade. İfadenin türü işlevin dönüş türüdür. |
statements |
Gerekli. deyimini kullanarak Return bir değer döndüren deyimlerin listesi. (Bkz . Return Deyimi.) Döndürülen değerin türü işlevin dönüş türüdür. |
Açıklamalar
Lambda ifadesi, bir değeri hesaplayan ve döndüren adı olmayan bir işlevdir. Lambda ifadesini, için bağımsız değişken RemoveHandlerolarak dışında temsilci türünü kullanabileceğiniz her yerde kullanabilirsiniz. Temsilciler ve temsilcilerle lambda ifadelerinin kullanımı hakkında daha fazla bilgi için bkz. Temsilci Deyimi ve Gevşek Temsilci Dönüştürme.
Lambda ifadeleri söz dizimi
Lambda ifadesinin söz dizimi, standart işlevin söz dizimine benzer. Farklar şunlardır:
Lambda ifadesinin adı yok.
Lambda ifadelerinin
OverloadsveyaOverridesgibi değiştiricileri olamaz.Lambda ifadeleri işlevin dönüş türünü belirlemeye yönelik bir
Asyan tümce kullanmaz. Bunun yerine, türü tek satırlı lambda ifadesinin gövdesinin değerlendireceği değerden veya çok satırlı lambda ifadesinin dönüş değerinden çıkarılır. Örneğin, tek satırlı lambda ifadesinin gövdesi iseWhere cust.City = "London", dönüş türü olurBoolean.Tek satırlı lambda ifadesinin gövdesi bir ifade olmalı, deyim olmamalıdır. Gövde, bir işlev yordamına yapılan çağrıdan oluşabilir, ancak alt yordama yapılan bir çağrıdan oluşabilir.
Tüm parametrelerin belirtilen veri türleri olması veya tümünün çıkarılması gerekir.
İsteğe bağlı ve Paramarray parametrelerine izin verilmez.
Genel parametrelere izin verilmez.
Örnek 1
Aşağıdaki örneklerde basit lambda ifadeleri oluşturmanın iki yolu gösterilmektedir. İlki işlevi için bir ad sağlamak için kullanır Dim . İşlevi çağırmak için parametresi için bir değer gönderirsiniz.
Dim add1 = Function(num As Integer) num + 1
' The following line prints 6.
Console.WriteLine(add1(5))
Örnek 2
Alternatif olarak, işlevi aynı anda bildirebilir ve çalıştırabilirsiniz.
Console.WriteLine((Function(num As Integer) num + 1)(5))
Örnek 3
Aşağıda bağımsız değişkenini artıran ve değeri döndüren bir lambda ifadesi örneği verilmiştir. Örnekte bir işlevin hem tek satırlı hem de çok satırlı lambda ifade söz dizimi gösterilmektedir. Daha fazla örnek için bkz. Lambda İfadeleri.
Dim increment1 = Function(x) x + 1
Dim increment2 = Function(x)
Return x + 2
End Function
' Write the value 2.
Console.WriteLine(increment1(1))
' Write the value 4.
Console.WriteLine(increment2(2))
Örnek 4
Lambda ifadeleri, Language-Integrated Sorgusundaki (LINQ) sorgu işleçlerinin çoğunu temel alır ve yöntem tabanlı sorgularda açıkça kullanılabilir. Aşağıdaki örnekte tipik bir LINQ sorgusu ve ardından sorgunun yöntem biçimine çevirisi gösterilmektedir.
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)
Sorgu yöntemleri hakkında daha fazla bilgi için bkz. Sorgular. Standart sorgu işleçleri hakkında daha fazla bilgi için bkz. Standart Sorgu İşleçlerine Genel Bakış.