noh*_*ros 3 c# generics null caching value-type
我正在为泛型类型开发一个缓存,并且有一个疑问,我应该缓存值类型,例如int,struct等.缓存通常用于存储昂贵的对象,并且值类型的创建非常便宜.将可以插入缓存中的项限制为引用类型将使代码更容易实现.允许缓存只存储引用类型是个好主意?
考虑从缓存中删除valur类型的原因是:缓存可以通过委托自动加载值,并且该委托永远不应返回null.由于值类型无法与null进行比较,因此defaut(T)可能是有效的值类型.如何检查用户提供的委托是否返回有效值(假设未引发异常)?
Jac*_*all 7
每当生成需要很长时间的事物的值时,都应该使用缓存.例如,计算生命,宇宙和万物的最终问题的答案需要一个巨大的超级计算机750万年,但只int需要存储.如果另一个用户请求生命,宇宙和万物的终极问题的答案,这种计算仍然很可能从缓存中受益.
int
Mic*_*tum 5
嗯,从概念上讲,你并没有缓解价值.您正在缓存计算结果.你没有说"嘿缓存,给我4号!",而是"嘿缓存,给我1932年1月6日内布拉斯加州的人口",它应该返回一个int,但是这个int可能很难计算.
归档时间:
13 年,5 月 前
查看次数:
890 次
最近记录: