Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Novità VB2010: espressioni Lambda multilinea e subroutine

    Le espressioni Lambda sono apparse per la prima volta in VB2008, ma il vincolo di doverle scrivere in un'unica riga di codice ne ha forse limitato la diffusione. In VB2010, con l'introduzione della continuazione implicita della riga, è stato possibile estenderne le potenzialità.

    Ora è possibile definire sia Function che Sub, definite in una sola riga o su più righe. Qualche esempio:
    codice:
    'lambda function, singola riga
    Dim incremento = Function(x) x + 1
    
    'lambda function, su più righe
    Dim somma = Function(x, y)
                   Return x + y
                End Function
    
    'lambda sub
    Dim stampa = Sub(x) Console.WriteLine(x)
    
    'utilizzo
    Console.WriteLine(incremento(5))   'scrive 6 sulla console
    Console.WriteLine(somma(4, 5))     'scrive 9
    stampa("Ciao")   'scrive Ciao
    Chi non cerca trova.

  2. #2
    Utente di HTML.it L'avatar di alpynet
    Registrato dal
    Mar 2010
    Messaggi
    123
    Ciao, ma dove sta il vantaggio di scrivere un'espressione lambda da una funzione o sub?

  3. #3
    L'articolo che ho linkato nel primo post spiega molto bene a cosa servono le espressioni lambda. Essenzialmente sono function o sub inserite dentro ad una variabile. Sono state aggiunte al linguaggio VB insieme a LINQ, ma possono essere usate anche in altri contesti. Aumentano la potenza espressiva di VB, poi è compito del programmatore sfruttarle al meglio!
    Chi non cerca trova.

  4. #4
    Puoi trovare qualcosa sulle Lamba Expression anche qui:

    http://aspnet.html.it/articoli/leggi...expressions/6/
    _____________________________________
    Fatti non foste a viver come bruti...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.