zoukankan      html  css  js  c++  java
  • 元组——秃瓢(Tuple)

    元组在编程里面出现最早是在函数式语言。而现在python、C#、VB.net、Java、Go等等已经广泛应用。元组有如下特性:
    1、元组里面的成员都是只读的。
    2、元组成员支持泛型,甚至可以衔套另一个元组。 

     元组刚引入C#的时候,大多数人都把它当作out的语法糖。然而,它有自身存在的意义。作为函数的多返回值的时候,相对out而言,除了可读性更佳,元组以其不可变值的特性,贯彻了“使用不变值,尽可能避免使用变量”,这一函数式编程的原则——呃...与其这样说,不如说是out直接破坏了这个原则。

    另外,元组也可以当成简单的结构来使用,在不能使用匿名结构,又不想声明一个有名字结构的时候,元组是折中、便捷的方法。

    然而作为一种外来的方法,C#上面使用元组就不像F#那么自然,(VB以及Java亦然)。 

    F#:

    let (a,b) = (15, 16)
    Debug.WriteLine("a={0} b={1}", a, b) 


    C#:
    var t = 
    Tuple.Create(15, 16);
    Debug.WriteLine("a={0} b={1}", t.Item1, t.Item2) ;

    以上两代码等价,然而F#可以在使用元组的时候对个别元素进行命名,而C#只能调用其中的Item1、Item2。 

    元组在F#和C#之间的区别不仅如此,原生F#支持2个以上的成员,而C#上,元组只能靠.net的Tuple类实现,有1到8个成员的限制。1个成员的元组是很奇怪的,它根本没有什么实际意义。在F#上,
    let a = (19)
    或者
    let (a) = (19)
    都无法得到一个单一元素的元组,只能靠.net框架,或者其他间接方法。

  • 相关阅读:
    空中楼阁 ( House )最短路
    [hdu4333]Revolving Digits
    vue element-ui el-table 选择框单选修改
    css 中间文字 两边横线
    uni-app计算scroll-view高度
    Swift Playgrounds Mac 编程学习入门
    vuecli vue.config.js 通用配置
    vuecli3 分环境打包的方案
    mysql 插入更新
    关闭进程
  • 原文地址:https://www.cnblogs.com/greatim/p/3660418.html
Copyright © 2011-2022 走看看