C#图解教程 第五章——方法

本地变量

主要注意的点就是,本地变量不能被隐式初始化,但实例字段可以(实例字段隐式初始化为:所有类型初始化为0,引用类型初始化为null,bool类型初始化为false)

var 关键字

  1. 只能用于本地变量。 2. 必须在本地变量有被初始化时使用 3. 一旦确定类型不会改变

var不是一种特定类型变量的符号,只是一个语法上的速记,不像其他的弱类型语言,可以引用不同的类型。

所以var关键字并不改变C#强类型语言的性质

参数

值参数和引用参数 是指传参的方式,不能和 值类型和 引用类型混淆, 两个完全不是一种东西的东西。。。

值参数
直接上图好了,其中 a1为一个引用类型,a2为值类型。

ref 引用参数
  • 在方法的声明和调用时都需要加上 ref修饰符

  • 实参必须是被赋值后的变量

可以看到,引用参数和C++一样都相当于形参直接作为实参的别名

对比这两种参数,值类型就没啥好说的了,但是 引用类型作为值参数和引用参数时,会出现的情况:

​ 如果引用类型作为值参数,那么如果在方法内部形参引用了其他的对象,形参和实参之间的联系就断开了。

​ 但引用类型如果作为引用参数的话,形参就相当于实参的别名(应该和C++一样,引用参数的 形参 存储的是 引用类型实参本身的内存地址,相对比值参数的 形参存储的是 引用类型实参指向的内存地址),所以形参引用新的对象,实参同样做出改变。

out 输出参数

基本上和 引用参数一样,包括

  • 需要在 调用和声明方法时 都要加 修饰符 out
  • 形参也相当于实参的别名;

除了这一点和引用参数不一样:

  • 不能通过输出参数像方法传值,也就是说输出参数在方法内部被赋值之前,都不可以在方法中读取输出参数的值。而且本来就是输出参数,所以必须要在方法结束前对输出参数进行赋值。
参数数组
  • 一个参数列中只能有一个参数数组,并且还的是在最后一个参数。
  • 声明方法时要加 修饰符 params,但调用时不用

调用含有参数数组的方法时有两种形式:

void ListInts(params int[] inVals){}

  1. 调用时使用一些分离的实参

    ListInts(x1, x2, x3.....);

  2. 直接使用数组实参

    int[] myArr = new int[] {/*datas*/};
    ListInts(myArr);
    

方法的签名(signature)

只包括这两部分

  • 方法的名称
  • 参数列表

方法重载: 使用相同名称不同参数列表的方法

命名参数

方法的调用时可以直接通过相应 形参 : 实参 就可以

void Calc(int a, int b, int c){codes}
//调用
Calc(a: 实参, b: argument, c: argument)

默认参数这些就不记了。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《轻松学C#(图解版)》完整扫描版================================================================ 基本信息 作者:谷涛、扶晓、毕国锋 丛书名:轻松学开发 出版社:电子工业出版社 ISBN:978-7-121-20223-0 出版日期:2013年6月 开本:16开 页码:408页 版次:1-1 定价:¥55.00 所属分类:计算机 > 软件与程序设计 > C# ================================================================ 内容简介 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5
《C How to Program,Fifth Edition》(中文名:《C大学教程》),作者:【美】P.J.Deitel、【美】H.M.Deitel,翻译:苏小红、李东、王甜甜,出版社:电子工业出版社,ISBN:978-7-121-05662-8,PDF 格式,大小 352 Mb,被压缩为 7 部分,本资源是第一部分;第一部分下载地址:http://download.csdn.net/source/3289551;第二部分下载地址:http://download.csdn.net/source/3286123;第三部分下载地址:http://download.csdn.net/source/3285981;第四部分下载地址:http://download.csdn.net/source/3284551;第五部分下载地址:http://download.csdn.net/source/3283848;第六部分下载地址:http://download.csdn.net/source/3290125;第七部分下载地址:http://download.csdn.net/source/3280289。 七个资源在一起解压缩后(windows 平台下解压缩)即可得到《C大学教程(第五版·中文版)》.pdf 一书。 内容简介: 本书是全球最畅销的C语言教程之一。本书系统地介绍了四种当今流行的程序设计方法——面向过程、基于对象、面向对象以及泛型编程,内容全面、生动、易懂,作者由浅入深地介绍结构化编程及软件工程的基本概念,从简单的概念到最终完整的语言描述,清晰、准确、透彻、详细地讲解C语言,尤其注重程序设计思想和方法的介绍。相对于以往的版本,在内容方面,本书新增加了介绍C99标准、排序、基于Allegro C函数库的游戏编程以及有关C++面向对象程序设计的章节,并且在附录中增加了Sudoku游戏程序设计的讲解。新加入的“活代码”方法(即通过可执行的代码来讲解理论概念的方法)是本书的另一特色,它可以促进学生积极地参与到程序设计中来。突出显示的各种程序设计提示,则是作者多年教学经验的总结。 本书不仅适合于初学者学习,作为高校计算机程序设计教学的教科书,也同样适用于有经验的程序员,作为软件开发人员的专业参考书。 内容预览: 第1章 计算机、Internet和万维网导论 第2章 C语言程序设计入门 第3章 结构化的C程序设计 第4章 C程序控制 第5章 C函数 第6章 C数组 第7章 C指针 第8章 C字符和字符串 第9章 格式化输入输出 第10章 结构体、共用体、位操作和枚举类型 第11章 文字处理 第12章 数据结构 第13章 C预处理 第14章 C语言的其他专题 第15章 基于Allegro C函数库的游戏编程 第16章 排序:更深入的透视 第17章 C99简介 第18章 C++,一个更好的C;介绍对象技术 第19章 类与对象简介 第20章 类;深入剖析(第1部分) 第21章 类;深入剖析(第2部分) 第22章 运算符重载 第23章 面向对象编辑:继承 第24章 面向对象编程:多态 第25章 模板 第26章 输入/输出 第27章 异常处理 附录A 因特网和Web资源、 附录B 运算符优先级表、 附录C ASCLL字符集 附录D 数制系统 附录E 游戏编程:求解Sudoku问题 索引

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值