Linq与Lambda

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'データ配列
        Dim companies() = New Company() { _
                New Company("X01", "ABC com", 34), _
                New Company("X02", "DEF inc", 19), _
                New Company("X03", "HIJ com", 15), _
                New Company("X04", "KLM inc", 22), _
                New Company("X05", "NOP com", 26), _
                New Company("X06", "QRS com", 20) _
            }

        ' Sample 1
        Dim targetCode As String = Me.TextBox1.Text
        Dim name As String = _
           companies.Where(Function(p) p.Code.Equals(targetCode)) _
             .Select(Function(p) p.Name).FirstOrDefault()

        Dim result As String
        If String.IsNullOrEmpty(name) Then
            result = "Not Found..."
        Else
            result = String.Format("The Company Name is {0}", name)
        End If
        Me.Label1.Text = result

        ' Sample 2
        Dim companyList = _
            companies.Where(Function(x) x.TotalEmployee > 25) _
            .Select(Function(x) New With { _
                        .Code = x.Code, .Name = x.Name})

        Dim result2 As String = String.Empty
        For Each com In companyList
            result2 = result2 & "Code : " & com.Code & " " & "Name : " & com.Name & vbNewLine
        Next

        ' 【出力】
        ' Code : X01 Name : ABC com
        ' Code : X05 Name : NOP com
        Me.Label2.Text = result2
    End Sub

 

Public NotInheritable Class Company
    Public Sub New()

    End Sub
    Public Sub New(ByVal code As String, _
                   ByVal name As String, _
                   ByVal totalEmployee As Integer)
        Me._Code = code
        Me._Name = name
        Me._TotalEmployee = totalEmployee
    End Sub

    Private _Code As String
    Public Property Code() As String
        Get
            Return Me._Code
        End Get
        Set(ByVal value As String)
            Me._Code = value
        End Set
    End Property

    Private _Name As String
    Public Property Name() As String
        Get
            Return Me._Name
        End Get
        Set(ByVal value As String)
            Me._Name = value
        End Set
    End Property

    Private _TotalEmployee As Integer
    Public Property TotalEmployee() As Integer
        Get
            Return Me._TotalEmployee
        End Get
        Set(ByVal value As Integer)
            Me._TotalEmployee = value
        End Set
    End Property
End Class

 

你可能感兴趣的:(lambda)