Sdílet prostřednictvím


Výraz funkce (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 Příkaz Return (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 Delegát prohlášení a Převod uvolněné 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 operátorů standardní dotaz.

Viz také

Referenční dokumentace

Příkaz funkce (Visual Basic)

Pokud operátor (Visual Basic)

Koncepty

Lambda výrazy (Visual Basic)

Operátory a výrazy v jazyce Visual Basic

Hodnota porovnání (Visual Basic)

Logické výrazy (Visual Basic)

Převod uvolněné delegáta (Visual Basic)

Další zdroje

Příkazy v jazyce Visual Basic