簡體   English   中英

lambda表達式的數據類型是什么?

[英]What's the datatype of lambda-expressions?

我有一個小問題,我無法弄清楚自己,這樣的lambda表達式的數據類型是什么: x => x>0
我希望你能幫助我。

它只是一個Func<T, bool> ,其中Tx類型。

通常, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM