IReliableDictionary 2 vs IReliableDictionary

时间:2017-07-18 20:13:12

标签: azure-service-fabric

任何人都可以解释为什么服务结构同时具有IReliableDictionaryIReliableDictionary2 IReliableDictionary来自IReliableDictionary2的传播?这没有任何意义,文档似乎没有解释它。你应该使用哪一个?

https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicefabric.data.collections.ireliabledictionary-2?view=azure-dotnet

证明: enter image description here

2 个答案:

答案 0 :(得分:3)

您正在错误地阅读文档。 " Derived",表示IReliableDictionary2派生自IReliableDictionary。有关证明,请查看.Net中的ICollection接口https://docs.microsoft.com/en-us/dotnet/api/system.collections.icollection?view=netframework-4.7

如果您需要使用不包含字典或键枚举中所有项目的Count,则需要使用IReliableDictionary2。

答案 1 :(得分:2)

IReliableDictionary2有一个额外的属性Count,它会与集合的条目一起保留。这允许快速访问集合中的条目数,因为通常您必须枚举其条目并计算计数。

这在API文档中并不是很清楚,仅仅看到“哦,这有一个额外的计数属性”对我来说,并不警告“如果你需要随时访问计数,你应该使用它”。也许你可以打开一个问题here来解释它是如何不清楚的,或者编辑它并创建一个PR!