Lambda 運算式無法轉換成 '<typename>',因為 '<typename>' 不是委派型別

更新:2007 年 11 月

您可以在委派型別有效時使用 Lambda 運算式。這些運算式可以轉換為相容的委派型別,但無法轉換成任何其他型別。例如,您可以定義委派型別並指派 Lambda 運算式給它,或將 Lambda 運算式當做引數傳送到 Func<TResult> 參數。這些範例顯示在下列程式碼中。

Module Module1

    Delegate Function FunDel(ByVal m As Integer) As Boolean

    Sub Main()

        ' Assign a lambda expression to a function delegate.
        Dim negative As FunDel = Function(n As Integer) n < 0
        Console.WriteLine(negative(-3))

        ' Send a lambda as the argument to a delegate parameter.
        Dim numbers() As Integer = {3, 4, 2, 8, 1, 0, 9, 13, 42}
        Dim evens = numbers.Where(Function(n) n Mod 2 = 0)

        For Each even In evens
            Console.WriteLine(even)
        Next

    End Sub

End Module

錯誤 ID:BC36625

請參閱

概念

Lambda 運算式