C#:面向过程:元组

更多
2020年03月04日 22点49分 作者:叶飞 修改

返回


当我们需要返回多个数据时:

  • ref/out:还是不能太多
  • 数组:只能是同一类型
元组(元素组合?tuple):
  • 命名:(old: 38, name: "feige")
  • 匿名:(38,"fegei")

Tuple的赋值和取值演示

没有具体类型,只能用var


通过函数的(多个)参数和(多个)返回值理解:把某些数据“装到一起”的需要



元组(Tuple

最简单的数据封装,和数组不同,它可以封装不同的数据类型

即可作为方法的参数,

        //static void  enter(var student)    不能使用var,没有任何线索,无法推断
        //static void  enter((int, string, bool) student)
        static void  enter((int height, string name, bool gender) student)
        {
            Console.WriteLine(student.name);
        }

也可以作为方法的返回值:(int, string)

        static (int,string,bool) enter(int term)
        {
            return (175, "jimmy", true);
        }

还可以命名: (int age, string name)

        static (int height, string name, bool gender) getBest()
        {
            return (175, "jimmy", true);
        }

         var student = getBest();

            Console.WriteLine(student.height);
            Console.WriteLine(student.name);
            Console.WriteLine(student.gender);


------------------------------------------------

作业

  1. 使用tuple作为参数,重构SelfIntroduction()方法,输出自我介绍
  2. 实现方法:
    • IndexOf(),通过遍历在无序数组中
    • BinarySearch(),通过二分查找法在一个有序数组中
    找到某个值的下标,找不到返回-1

------------------------------------------------



引出:结构(struct)和类(class),以及为什么需要他们?

最基本层次的理解:简单/基本类型不足以满足业务需求,需要一种更复杂更多元化的数据结构(容器)


元组和函数,其实都是一种封装。但这种程度的封装,还远远不够,于是有了之后的:【总结/作业】源栈培训:C#语法基础-面向对象


C# 元组 封装
赞: 0 踩: 0

打赏
已收到打赏的 帮帮币

你的 打赏 非常重要!
为了保证文章的质量,每一篇文章的发布,都已经消耗了作者 1 枚 帮帮币
没有“帮帮币”,作者无法发布新的文章。

全系列阅读
评论 / 0

锋利的C#


C#语法基础

包括C#语法面向过程部分,即:变量赋值、分支循环和函数封装等,以及面向对象部分:即封装、继承、多态、值/引用类型、装箱拆箱等各部分

C#进阶

包括C#语言特有(或领先)的语言特性,比如泛型、Linq、Lambda、异步方法等,以及一些常用类库,如集合、I/O等

面向对象

C#语法中面向对象部分内容:即封装、继承、多态、值/引用类型、接口、抽象类、Object、装箱拆箱等……

全部
关键字



帮助

反馈