Function – výraz (Visual Basic)
Deklaruje parametry a kód, který bude definovat lambda výraz funkce.
Function ( [ parameterlist ] ) expression
- or -
Function ( [ parameterlist ] )
[ statements ]
End Function
Části
Termín |
Definice |
parameterlist |
Nepovinné.Seznam místních názvů proměnných, které představují parametry tohoto postupu.Závorky musí být i v případě, že seznam je prázdný.Viz téma Seznam parametrů (Visual Basic). |
expression |
Povinné.Jeden výraz.Typ výrazu je návratový typ funkce. |
statements |
Povinné.Seznam příkazů, který vrátí hodnotu pomocí Return prohlášení.(See Return – příkaz (Visual Basic).) Typ vrácené hodnoty je návratový typ funkce. |
Poznámky
A lambda výraz je funkce bez názvu, který vypočítá a vrátí hodnotu.Lambda výraz lze použít kdekoli použít typ delegáta, s výjimkou jako argument RemoveHandler.Další informace o delegátů a použití lambda výrazů s delegáty, viz Delegate – příkaz a Volný převod delegáta (Visual Basic).
Lambda syntaxi výrazu
Syntaxe lambda výraz se podobá se standardní funkce.Rozdíly jsou následující:
Lambda výraz nemá název.
Lambda výrazy nemůže mít modifikátory, jako například Overloads nebo Overrides.
Lambda výrazy nepoužívejte As klauzule určit návratový typ funkce.Místo toho je typ odvodit z těla jeden řádek lambda výraz vyhodnocen jako hodnota nebo vrácená hodnota víceřádková lambda výraz.Například pokud je subjekt jeden řádek lambda výraz Where cust.City = "London", jeho návratový typ je Boolean.
Subjekt jeden řádek lambda výraz musí být výraz není prohlášení.Subjekt se může skládat z volání funkce postup, ale není volání procedury sub.
Buď všechny parametry musí zadané typy dat nebo všechna odvodit.
Volitelné a Paramarray parametrů nejsou povoleny.
Obecné parametry nejsou povoleny.
Příklad
Následující příklady ukazují dva způsoby, jak vytvořit jednoduchý lambda výrazy.První použití Dim zadejte název funkce.Chcete-li volat funkce, odeslat hodnotu pro parametr.
Dim add1 = Function(num As Integer) num + 1
' The following line prints 6.
Console.WriteLine(add1(5))
Alternativně můžete deklarovat a spusťte funkci současně.
Console.WriteLine((Function(num As Integer) num + 1)(5))
Je příklad lambda výraz, který zvýší jeho argument a vrátí hodnotu.Příklad ukazuje obě jednořádkové a víceřádkové lambda výraz syntaxe pro funkci.Další příklady naleznete v tématu Lambda – výrazy (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 výrazy základem mnoha operátory dotazu v LINQ (Language-Integrated Query)a lze je použít explicitně v metody založené na dotazech.Následující příklad ukazuje typickou LINQ dotazu, následuje překlad dotazu do formátu metoda.
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)
Další informace o metodách dotazu, viz Dotazy (Visual Basic).Další informace o operátorech standardního dotazu viz Přehled standardních operátorů dotazu.
Viz také
Referenční dokumentace
Function – příkaz (Visual Basic)
Koncepty
Lambda – výrazy (Visual Basic)
Operátory a výrazy v jazyce Visual Basic
Porovnání hodnot (Visual Basic)
Výrazy logických hodnot (Visual Basic)
Volný převod delegáta (Visual Basic)