相关疑难解决方法(0)

理解ConditionalWeakTable

我想了解ConditionalWeakTable.有什么区别

class ClassA
{
    static readonly ConditionalWeakTable<ClassA, OtherClass> OtherClassTable
        = new ConditionalWeakTable<ClassA, OtherClass>();
}
Run Code Online (Sandbox Code Playgroud)

class ClassB
{
    OtherClass otherClass;
}
Run Code Online (Sandbox Code Playgroud)

?使用ClassA或ClassB引用可空字段的优缺点是什么?

.net dictionary weak-references

12
推荐指数
2
解决办法
1万
查看次数

弱引用的其他用途?

我知道弱引用是备忘可能大数据集的一个很好的候选者,维基百科关于弱引用的文章只列出"跟踪应用程序中引用的当前变量"和声明"弱引用的另一种用法是写作缓存".

还有一些其他情况(更具体而不仅仅是"缓存结果"),其中使用弱引用是A Good Idea TM

language-agnostic weak-references

7
推荐指数
1
解决办法
555
查看次数

在C#中使用弱引用的GC成本?

另一个问题中,斯蒂芬C说:

第二个问题是使用弱引用存在运行时开销.显而易见的成本是创建弱引用和调用get.不太明显的成本是每次GC运行时都需要进行大量的额外工作.

那么弱参考的GC的成本到底是多少?它需要做多少额外的工作,以及它有多大的交易?我可以做一些有根据的猜测,但我对实际的机制很感兴趣.

c# garbage-collection weak-references

7
推荐指数
1
解决办法
850
查看次数