欢迎来到天天文库
浏览记录
ID:39973633
大小:585.50 KB
页数:28页
时间:2019-07-16
《net面向对象程序设计-3-方法和作用域》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第3章方法和作用域Aftercompletingthischapter,youwillbeableto:Declareandcallmethods.Passinformationtoamethod.Returninformationfromamethod.Definelocalandclassscope.Usetheintegrateddebuggertostepinandoutofmethodsastheyrun.23.1创建方法方法是一个具名的语句序列包括方法名和方法体两部分方法名用英语描述了方法的用途方法的主体包含方法被调用时实际执行的语句3.
2、1.1声明方法C#方法的语法格式returnTypemethodName(parameterList){//这里添加方法主体语句}注意:C#不支持全局方法,所有的方法都必须在一个类的内部,否则代码无法编译必须显式指定任何一个参数的类型和整个方法的返回值类型,不能使用var如果不返回任何值,必须使用void3.1.2从方法返回数据如果希望一个方法返回数据,必须在方法内部写一个return语句例如:intaddValues(intleftHandSide,intrightHandSide){//...returnleftHandSide+rightHand
3、Side;}注意:return表达式的类型必须与方法的返回值类型相同,否则无法编译return将导致方法结束,所以最好放在方法尾部,否则return后的任何语句都不会被执行如果不希望返回数据,可以直接写return,然后紧跟一个分号例如:voidshowResult(intanswer){//displaytheanswer...return;}当然也可以省略return,,因为一旦执行到方法块的尾部,方法会自动结束下面练习P45页的例子补充:C#中将字符串转换成为整数的几种方法对比Int32.TryParse()Int32.Parse()Conver
4、t.ToInt32()stringmyString=“1234”;intmyInt=0;//第一种方法myInt=Convert.ToInt32(myString);Response.Write(myInt+””);//第二种方法myInt=Int32.Parse(myString);Response.Write(myInt+””);//第三种方法Int32.TryParse(myString,outmyInt);Response.Write(myInt+””);8stringmyString=null;intmyInt=0;/
5、/第一种方法myInt=Convert.ToInt32(myString);Response.Write(myInt+””);//第二种方法myInt=Int32.Parse(myString);Response.Write(myInt+””);//第三种方法Int32.TryParse(myString,outmyInt);Response.Write(myInt+””);结果:ToInt32不抛出异常,而是返回0,Int32.Parse会抛出异常,Int32.TryParse不抛出异常,会返回true或false来说明解析是
6、否成功从性能上讲:Int32.TryParse优于Int32.Parse,都优于Convert.ToInt3293.2使用作用域一个变量的作用域或范围,是指该变量能发挥作用的一个程序区域方法也有作用域,一个标识符的作用域始于声明该标识符的那个位置3.2.1定义局部作用域方法的作用域:{}在方法中声明的变量都具有该方法的作用域一旦方法结束,它们也会随之消失它们只能由该方法内部的代码访问,称之为局部变量classExample{voidfirstMethod(){intmyVar;...}voidanotherMethod(){myVar=42;//err
7、or–variablenotinscope...}}3.2.2定义类的作用域在类的主体中(但不能在方法中)声明的任何变量都具有那个类的作用域C#中,使用字段表示在类中定义的变量classExample{voidfirstMethod(){myField=42;//ok...}voidanotherMethod(){myField++;//ok...}intmyField=0;}注意:在方法中,一个变量必须先声明再使用字段可以在类中的任何位置定义(在编译器生成的IL中,字段实际还是先声明并初始化,然后再使用的)3.2.3重载方法如果两个标识符同名,而且是
8、在同一个作用域中定义的,就可以说它们被重载如果需要针对不同的数据类型执行相同的操作,重载就是一
此文档下载收益归作者所有