元组真正的用途是什么?

时间:2010-05-28 06:43:57

标签: c#-4.0

有人可以解释一下元组的实际用途吗?

1 个答案:

答案 0 :(得分:9)

您可以将元组视为有点像匿名类型,但没有名称 - 并且能够指定返回类型等。当您需要ad hoc多值数据类型时,它们很有用,但是想要能够指定它作为方法的返回类型。

例如,int.TryParse 可以签名

static Tuple<int, bool> TryParse(string text)

基本上您想要返回intbool。现有签名使用out参数来解决只能返回单个值的事实 - 元组是另一种选择。同样地,KeyValuePair<TKey, TValue>基本上只是一对值。

就我个人而言,我希望看到另一种选择:一种简洁的方式来实现匿名类型的语义(不变性,命名属性,平等等),但有一个名称。