İşlev İfadesi (Visual Basic)
Parametreleri ve işlev lambda ifadesi tanımlayan kod bildirir.
Function ( [ parameterlist ] ) expression
- or -
Function ( [ parameterlist ] )
[ statements ]
End Function
Bölümleri
Terim |
Tanım |
parameterlist |
İsteğe Bağlı.Bu yordamın parametreleri temsil eden yerel bir değişken adları listesi.Liste boş olsa bile parantez içinde bulunmalıdır.Bkz: Parametre Listesi (Visual Basic) |
expression |
Gerekli.Tek bir ifade.İşlevin dönüş türü ifade türüdür. |
statements |
Gerekli.Kullanarak bir değer döndüren deyimler listesi Return ifadesi.(See Return Deyimi (Visual Basic).) İşlevin dönüş türü döndürülen değer türüdür. |
Notlar
A lambda ifade hesaplar ve bir değer döndüren bir adı olmadan bir işlevdir.Lambda ifade kullanabileceğiniz herhangi bir yerde, bir temsilci türünün dışında bağımsız değişkeni olarak kullanabilirsiniz RemoveHandler.Temsilciler ve temsilcileri lambda ifadeleri kullanımı hakkında daha fazla bilgi için bkz: Delegate Deyimi ve Gevşek Temsilci Dönüşümü (Visual Basic).
Lambda ifade sözdizimi
Lambda ifade sözdizimi, standart bir işlev benzer.Farklar şunlardır:
Lambda ifade bir ada sahip değil.
Lambda ifadeleri olamaz değiştiriciler, gibi Overloads veya Overrides.
Lambda ifadeleri kullanmayın bir As işlevinin dönüş türü belirtmek için yan tümcesi.Bunun yerine, tek satırlı lambda ifade gövdesi değerlendiren değeri veya çok satırlı lambda ifade dönüş değeri türü algılanır.Örneğin, tek satırlı lambda ifade gövdesi ise Where cust.City = "London", dönüş türü olan Boolean.
Tek satırlı lambda ifade gövdesi bir ifade bir deyimi olmalıdır.Bir işlev yordamı çağrısına, ancak bir alt yordam çağrısı değil, gövde oluşur.
Tüm parametre ya da veri türleri veya tüm olayla gerekir belirtmiş olmanız gerekir.
İsteğe bağlı ve Paramarray parametreleri izin verilmez.
Genel Parametreler izin verilmez.
Örnek
Aşağıdaki örnekler, basit lambda ifadeleri oluşturmak için iki yol gösterir.İlk kullanan bir Dim işlevi bir ad vermek için.İşlevi çağırmak için parametre için bir değer gönderir.
Dim add1 = Function(num As Integer) num + 1
' The following line prints 6.
Console.WriteLine(add1(5))
Alternatif olarak, bildirmek ve aynı anda işlevini çalıştırın.
Console.WriteLine((Function(num As Integer) num + 1)(5))
Argüman artırır ve değer döndüren bir lambda ifade örneği aşağıda verilmektedir.Bu örnek iki tek satırlı ve çok satırlı lambda ifade sözdizimiyle ilgili bir işlev gösterir.Daha fazla örnek için bkz. Lambda İfadeleri (Visual Basic).
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))
Lambda ifadeleri çoğu sorgu işleçler, underlie Dil ile Tümleşik Sorgu (LINQ)ve açıkça yöntem temelli sorgularda kullanılabilir.Aşağıdaki örnek, tipik bir gösterir LINQ sorgu çevirisi ile yöntem biçimine dönüştürmek ve ardından sorgu.
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 (Visual Basic).Standart sorgu işleçleri hakkında daha fazla bilgi için bkz: Standart Sorgu İşleçlerine Genel Bakış.
Ayrıca bkz.
Başvuru
Function Deyimi (Visual Basic)
Kavramlar
Lambda İfadeleri (Visual Basic)
Visual Basic'de İşleçler ve İfadeler
Değer Karşılaştırmaları (Visual Basic)
Boolean İfadeleri (Visual Basic)
Gevşek Temsilci Dönüşümü (Visual Basic)