Tuple(Of T) 的意义是什么?

7

可能是重复问题:
Tuple(T1)/Singleton在.NET中的目的是什么?

我试图模仿在.Net 4中实现的Tuple(对于.Net 3),但我刚意识到还有一个Tuple(Of T)?这真是惊讶!

为什么有人要这样做?

Tuple<string> result = new Tuple<string>("Data");

不要这样做

return "Data";

元组不是为了作为容器来存储"松散相关的数据,这些数据不足以组成另一个类"吗?难道我错了吗?


抱歉,我确实查看了,只是漏掉了那一个。 - Maxim Gershkovich
2个回答

3

2
这完全没有回答问题。OP的问题是,“为什么要有一个只有一个项目的元组?”这似乎是一个合理的问题。 - Kirk Woll
2
这怎么是对问题的回答? - jason
1
为什么对这个答案如此憎恶?链接的 MSDN 页面提供了一个明确的例子,说明何时需要使用单元素元组,例如在为 8-元组提供 TRest 参数时。 - Levi
可能是来自 MSDN,但它并没有回答 OP 最初的问题。 - Jessica

1

这是从集合论延伸出来的,对于软件开发人员可能没有太多用处。

元组就是有序元素列表。N元组有n个元素,n可以为1,这被称为单例。你在代码中可能不会经常使用1元组,但我猜C#团队把它放在那里是为了完整性。

http://en.wikipedia.org/wiki/Tuple#Etymology


1
那么我们都认同一个元素的元组本质上是没有用的吗? - Kirk Woll
1
对于软件开发,我想不出它的用途。也许如果你正在编写一个模拟数学集合的程序?你应该给Eric Lippert发送这个问题的链接,也许他明天会提供一些意见。 - Adam Rackis
所以你在猜测一个股票BCL类在软件开发以外的领域是否有用? - Kirk Woll
1
@Kirk,不,我是说在数学中存在1元组。我猜测C#团队为了保持一致性而包含它,尽管你可能不经常使用它。 - Adam Rackis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接