为什么要使用元组tuple?

为什么要使用元组tuple?
问题在一些语言中如C#或Python等都提供了一种概念叫Tuple即元组。在常见的面向对象的程序设计语言中如CC#或Java中都有类或结构体的概念。元组完全可以使用类或者结构体来表示那么为什么这些语言又“多此一举”地提供了元祖这个概念呢所以才有此问题为什么要使用元组本文不是tuple的基础文章而是假设用户已经对tuple有了一定的了解关于元组的概念请参阅相关文章。比如在.NET平台上元组并不是什么新东西它们已经在FPython等编程语言以及数据库中存在了相当长的一段时间。在C#语言当中从4.0引入7.0进行了扩展介绍相关可参考这篇不错的文章详解C# Tuple VS ValueTuple元组类 VS 值元组。原因1简化操作在某些场景下我们可能需要2个返回值比如计算某个点的单位向量就会返回X和Y两个值。这时候我们能学的解决方法是定义一个点的类或者引用已有的类包如System.Drawing.PointF)。若是一个专用的图形处理软件倒也罢了但是整个整个有个别几个地方会用到还要进行类的定义或类包的引入那么就有小题大作了。这时候使用元组就可以轻松地解决问题。我们可以利用元组直接返回有2个参数的结果。示例代码如下所示。// 函数定义privatestatic(doubleX,doubleY)Nomalize(doublex,doubley){if(x0y0)return(0,0);doublelenMath.Sqrt(x*xy*y);return(x/len,y/len);}// 代码调用privatevoidButton1_Click(objectsender,EventArgse){varnNomalize(234.5,-132.5);Console.WriteLine($X{n.X}, Y{n.Y}.);}原因2函数编程函数式编程Functional Programing中经常会对数据进行类似元组格式的定义在这种情况下也可以很好地使用它们。原因3数据库表的表示元组可用于存储固定大小的有限序列的同构或异构数据。 当数据库表在临时进行表示的时候可以不使用类而更简便地使用元组。