[英]difference between IEnumerable vs Dictionary C#
如果您在stackoverflow中转到此链接 。 关于将“可加密的”转换为“字典”存在一个问题。 所以我的问题是,当我们拥有字典对象时,为什么我们需要IEnumerable?
实际上,我正在尝试找出它们之间的区别。
IEnumerable
是一个interface
。 接口不能单独实例化,而必须作为实现给定接口的类实例化。
Dictionary
是实现IEnumerable
接口的hash-map
结构,因此它具有IEnumerable
接口要求其实现具有的所有方法和属性,从而可以Enumerate
Dictionary结构。
简而言之:IEnumerable是一个接口,Dictionary是实现该接口的类。
好吧,您链接的问题是相反的问题。 如何从IEnumerable
转换为Dictionary
。 我们为什么要转换另一种方式? 我们可能不会。 但您也可以问为什么有人将特定的类转换为对象?
答案是有时您想拥有一个变量/方法参数/类成员,该成员可以是很多东西之一:字典或其他东西。 为此,您可以使用IEnumerable
。
所以我的问题是,当我们拥有字典对象时,为什么我们需要IEnumerable?
您提到的问题是相反的: 从 IEnumerable
创建Dictionary
。 因此,您拥有IEnumerable
并且希望拥有Dictionary
。
当您拥有例如e List
并希望通过items属性值之一更快地访问集合元素时,可能需要使用它。
并且可以肯定的是, Dictionary<TKey, TValue>
已经实现了IEnumerable<T>
,因此转换不需要朝相反的方向进行(除非您尝试更改T
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.