函数中的关键字及作用域
来源:互联网 发布:win10网络连接不可用 编辑:程序博客网 时间:2024/04/28 17:47
函数中的关键字及作用域
本章有几个比较重要的关键字:static ,void, params, ref, out, delegate.下面依次说明每一个需要注意的问题。
- Static 定义函数时需要用return返回值。
- Void 则不需要返回值。
- Params 1)在使用时放在函数定义的最后,如function(inta, int b,params int[] c). 2)用params定义的参数的传递的数量不受限制。
- Ref 用于指定引用参数,即函数处理的变量与函数调用中使用的变量相同,对这个变量进行任何的改变都会影响用作参数的变量值。在使用时注意1)不能指定const声明过的变量2)必须使用初始化过的变量。
- Out 用法与ref类似,但是后者不能用于未赋值的变量而前者可以,另外在使用Out参数时,其必须看作是还未赋值,即调用代码可以把已赋值的变量用作out参数,存储在该变量中的值会在函数执行时丢失。
- Delegate 除了直接调用函数之外,还可以通过委托调用它们。委托是用返回类型和参数列表定义的变量。给定的委托类型可以匹配返回类型和参数与委托定义相同的方法。
除了上述关键字之外,本章还需要注意作用域的问题。
<pre name="code" class="csharp">代码片段1int i;string text;for(i=0;i<10;i++){text="Line"+Convert.ToString(i);Console.Writeline("{0}",text);}Console.Writeline("Last text output in loop:{0}",text);
代码片段2int i;string text="";for(i=0;i<10;i++){text="Line"+Convert.ToString(i);Console.Writeline("{0}",text);}Console.Writeline("Last text output in loop:{0}",text);
代码1输出失败,因为text 是在for循环内初始化的,赋给text的值在循环退出时就丢失了。代码2会显示”Line9”。实际上,在声明一个变量时,只声明一个简单变量类型,并不会引起什么变化。只有在给变量赋值时,这个值才占用一块内存空间。
0 0
- 函数中的关键字及作用域
- JAVA中的关键字及作用
- JavaScript 函数参数、作用域及apply,this关键字
- extern关键字在函数中的作用
- javascript作用域及this关键字
- php函数,static,global关键字及三种变量作用域
- sql 关键字及作用
- Java-关键字及作用
- JAVA关键字及作用
- JAVA关键字及作用
- JAVA关键字及作用
- 深入理解ECMAScript中的声明提升、this关键字及作用域(链)
- Javascript中的return作用及javascript return关键字用法详解
- JS函数作用域及作用域
- Javascript 函数及作用域
- JavaScript 中的函数作用域
- Java关键字及作用解释
- java中的transient关键字作用
- [译文]程序员能力矩阵 Programmer Competency Matrix
- java的另类突破——桌面级应用开发
- elasticsearch学习总结——安装篇
- java中&&和&的区别
- Java main方法调用内部类
- 函数中的关键字及作用域
- EXTJS4扩展实例:如何使用filter查询treepanel
- 开发如何选择。。。网银在线,快钱,支付宝,财付通
- python基础教程_学习笔记17:标准库:一些最爱——time
- Linux下logrotate 配置
- SELECT * FROM shop s1 WHERE price = (SELECT MAX(price) FROM shop s2 WHERE s1.article=s2.article);
- 大小端存储判断
- python socket 实现服务器/客户端通信
- Ext与spring mvc集成时间格式问题处理