有人可以解释一下元组的实际用途吗?
答案 0 :(得分:9)
您可以将元组视为有点像匿名类型,但没有名称 - 并且能够指定返回类型等。当您需要ad hoc多值数据类型时,它们很有用,但是想要能够指定它作为方法的返回类型。
例如,int.TryParse
可以签名
static Tuple<int, bool> TryParse(string text)
基本上您想要返回int
和bool
。现有签名使用out
参数来解决只能返回单个值的事实 - 元组是另一种选择。同样地,KeyValuePair<TKey, TValue>
基本上只是一对值。
就我个人而言,我希望看到另一种选择:一种简洁的方式来实现匿名类型的语义(不变性,命名属性,平等等),但有一个名称。