簡體   English   中英

C# 返回惰性函數

[英]C# returning Lazy function

我需要編寫一個函數,該函數將帶有一個參數的函數作為參數並將該函數作為惰性函數返回。 這段代碼不起作用,我真的不知道這個函數應該返回什么以及如何以某種方式將普通函數轉換為惰性函數。

public static Lazy<int> memo2(Func<int, int> f1) => x => new Lazy<int>(f1(x)); 

這里有多個問題:

  • f1(x)返回int
    但是Lazy<int>的構造函數需要Func<int>
  • x => new Lazy<int>(...); Func<int,Lazy<int>>類型,但您的函數返回Lazy<int>

我不確定你的目標是什么,但如果你只是想讓你的代碼編譯你可以這樣做:

 public static Lazy<int> memo2(Func<int, int> f1, int x) => new Lazy<int>(() => f1(x));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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