2010-05-28 61 views

回答

9

你能想到的元组作为一个有点像匿名类型,但没有名称 - 与指定返回类型等,当你想要一个特设多值数据类型他们是有用的,但需要的能力能够将其指定为方法的返回类型。

例如,int.TryParse可能有过

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

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

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