gpt4 book ai didi

c# - IList vs IDictionary 在 WCF 中充当 [DataMember]

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:31 28 4
gpt4 key购买 nike

我有一个必须使用 WCF 传递的字典数据结构。为此,我使用 get 和 set 方法创建了一个成员属性。我基本上可以实现相同的功能,这个属性可以是:

IDictionary<keyType, valueType>

或一个

IList<KeyValuePair<keyType, valueType>>

我看不出有充分的理由选择其中之一。我能想到的一个温和的原因是:

IDictionary - 阅读代码的人会认为 IDictionary 更有意义,因为数据结构是字典,但就通过 WCF 传递的内容而言,它们都是相同的。

谁能想到选择 IList 的理由?如果没有,我将使用 IDictionary。

最佳答案

根据使用而不是实现来设计界面。

如果类的使用者需要遍历整个集合,请使用 IEnumerable。如果他们应该能够修改结果,并且需要基于索引的访问,则返回 IList。如果他们想要特定的项目,并且有一个有用的键值,则返回 IDictionary

也可以这样写你的内部代码:)

关于c# - IList<KeyValuePair> vs IDictionary 在 WCF 中充当 [DataMember],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4093582/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com