私はこれを検索しようとしましたが、答えを見つけることができませんでした。
メソッドがあり、その中にコードブロック呼び出しが頻繁にあるため、ローカルにリファクタリングしましたFunc。
このコード ブロックは他の場所では使用していないため、別のメソッドの代わりにこれを使用することに意味があります。
しかし、パフォーマンスに関しては、別の方法を使用する方が良いのでしょうか? 関数内で宣言されているため、割り当てられたり、他の方法で余分な処理時間やメモリを使用したりしますか?Funcそれとも、コンパイラによって舞台裏でキャッシュされるか、実際にメソッドにされることさえありますか?
マイクロ最適化のように聞こえるかもしれませんが、私の場合、このメソッドは頻繁に呼び出されます。それで考えが変わるのかもしれません。
だから基本的に:
public T CalledVeryOften(...)
{
    Func<...> block = () => ...;
    //code that calls 'block' several times
}
また
public T CalledVeryOften(...)
{        
    //code that calls 'block()' several times
}
private ... block()
{
   ...
}