首页 > 解决方案 > c#自动记忆方法?

问题描述

C# 中是否有属性或功能可以根据输入参数自动记忆静态函数结果,而无需自己编写所有逻辑?

例如,在 Python 中,您可以依赖 functools:

import functools


@functools.lru_cache()
def my_function(param1):
    ...

是否有一些类似的包或内置的 C#?

[Memoizable]
public static MyFunction(MyType param1)
{
    ...

结果应该被缓存以避免重新计算相同的输入。

标签: c#.net.net-core

解决方案


不,不存在。有外部工具可以这样做,但 C# 中没有自动执行此操作的。如果需要,您将不得不对其进行编程,或者使用一些可以重写代码的外部工具。


推荐阅读