sách gpt4 ai đã đi

Làm thế nào để viết một hàm đệ quy trông giống như A(key, B(key, C(key, ValFactory(key)))) trong C#?

In lại 作者:行者123 更新时间:2023-11-30 17:56:39 26 4
mua khóa gpt4 Nike

如何编写具有这种形式的函数:

A(key, B(key, C(key, ValFactory(key))))

其中 A、B 和 C 具有此签名:

TResult GetOrAdd(string key, Func generator);

Valfactory 有签名:

TResult Get(string key);

顺便说一句,“链接”函数的数量没有限制,因此它可以是 A、B 或 A、B、C 或 A、B、C、D、E 等。

我将函数 A、B、C 等存储在一个 LinkedList 中

我该如何调用它们?

biên tập 添加一些信息以进行说明:

我需要它来实现多级缓存。有几种不同的缓存都实现了“GetOrAdd”功能。一级缓存只是一个已经具有 GetOrAdd 函数的 ConcurrentDictionary。

缓存的工作方式是,如果一级缓存没有特定键的条目,它会尝试在二级缓存中查找。二级缓存在未命中等情况下查看三级缓存。

任何缓存都不应该知道另一个缓存,它应该只实现签名 TResult GetOrAdd(string, Func functionToCallOnCacheMiss)

1 Câu trả lời

如果您将每个 Func 存储在一个链表中,为什么不直接遍历该列表并使用先前的结果调用下一个 func?

关于c# - 如何在 C# 中编写一个看起来像 A(key, B(key, C(key, ValFactory(key)))) 的递归函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13983247/

26 4 0
Bài viết được đề xuất: c# - ServiceStack.Razor 从 razor View 输出绝对 URL
Bài viết được đề xuất: c# - 单元测试组合根?
Bài viết được đề xuất: ios - 为什么ios上fread不释放内存
Bài viết được đề xuất: c# - 如何获取WCF 4.0 Restful响应带宽消耗?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com