[英]What's the datatype of lambda-expressions?
我有一個小問題,我無法弄清楚自己,這樣的lambda表達式的數據類型是什么: x => x>0
我希望你能幫助我。
它只是一個Func<T, bool>
,其中T
是x
類型。
通常, Func<T, TResult>
是一個方法的預定義委托類型之一,該方法接受一個類型為T
參數(在您的情況下為x
)並返回一些TResult
類型的值(在您的情況下為bool
)
更多信息在這里
Lambda表達式沒有明確的類型。 lambda表達式可以隱式轉換為的類型是delegate或Expression類型。
您可以在此處找到更多信息
“請注意,lambda表達式本身沒有類型,因為公共類型系統沒有”lambda表達式“的內在概念。但是,有時非常方便地說出lambda表達式的”類型“。在這些情況下type指的是lambda表達式轉換為的委托類型或表達式類型。“
對於您的具體示例,可以為其分配lambda的一些類型是:
Predicate<int> predicate = x => x > 0;
Func<int, bool> func = x => x > 0;
Expression<Func<int, bool>> expression = x => x > 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.