【发布时间】:2013-10-31 14:12:40
【问题描述】:
每当我有一对相关的数据时,我通常使用KeyValuePair<TKey,TValue> 类型,即一个是另一个的关键。如果数据不相关,那么 Tuple<T1,T2> 类型更有意义,我会采用。
现在我刚刚阅读了this article,了解为什么通常避免使用KeyValuePair<TKey,TValue> 而更喜欢Tuple<T1,T2>。主要论点是Tuple<T1,T2> 的性能优势。
在性能方面,KVP 是否比Tuple<T1,T2> 更好?
【问题讨论】:
-
KeyValuePair是键和值,Tuple<T1,T2>只是一对 相等 值。你也可以问:“如果我可以使用Dictionary<A,B>,我为什么要使用List<Class>”。 -
对,但在这种情况下,您可以使用键来查找数据。这意味着什么。在这种情况下,名称只是语义,它们(对处理器)没有任何意义。
-
元组不是一对相等的值,而是一些相等的类型。也许这被视为吹毛求疵,但例如C 确实具有用于相等值的不同表示的联合构造。 :)