DOBON.NETプログラミング道掲示板

■34372 / 親階層)  ラムダ式の勉強中
□投稿者/ VBはじめました 一般人(17回)-(2019/11/07(Thu) 10:24:48)
  • アイコン環境/言語:[VisualStudio2017 VB.net] 
    分類:[.NET] 

    ラムダ式の勉強をはじめました(下記のコードに対する質問)
    (質問1)
    コメントの@とAをDelegateで書くと、@−DとA−Dの形になると
    思いますが、あってますか?(動作は確認したのでなんとか同じ動きになります)
    もっと、適切な書き方があれば教えてください。

    (質問2)
    コメントの@を1行で書くと、@-1行になるとおもいますが、
    Aを1行で書くことはできない。であってますか?
    https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/procedures/lambda-expressions
    を見ると、ラムダ式は、ステートメントに含める必要があると記載されているので
    1行で書けないと考えたのですが、あってますか?

    Public Class TestClass
    Sub Test()
    Dim increment1 = Function(x) x + 1 '@
    Console.WriteLine(increment1(1))

    Console.WriteLine((Function(num As Integer) num + 1)(1)) '@-1行

    Dim writeline1 = Sub(x) Console.WriteLine(x) 'A
    writeline1("Hello")

    '@をDelegateで書いたもの
    Dim increment As New DelegateTest_TestClass
    Dim d1 As TestDelegateF = AddressOf increment.Method1 '@-D

    Console.WriteLine(d1(1))
    Dim d3 As SampleDelegateS = AddressOf increment.Method3 'A-D
    d3("Hello")
    End Sub
    End Class
    Public Delegate Function TestDelegateF(x As Integer) As Integer
    Public Delegate Sub TestDelegateS(x As String)

    Public Class DelegateTest_TestClass
    Public Function Method1(x As Integer) As Integer
    Return x + 1
    End Function
    Public Sub Method3(x As String)
    Console.WriteLine(x)

    End Sub
    End Class
マルチポストを報告
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: ラムダ式の勉強中 /魔界の仮面弁士
 
上記関連ツリー

Nomalアイコン ラムダ式の勉強中 / VBはじめました (19/11/07(Thu) 10:24) #34372 ←Now
Nomalアイコン Re[1]: ラムダ式の勉強中 / 魔界の仮面弁士 (19/11/07(Thu) 14:11) #34373
  └Nomalアイコン Re[2]: ラムダ式の勉強中 / VBはじめました (19/11/07(Thu) 18:27) #34374 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -