Net面向对象程序设计-3-方法和作用域-2010-2011-2-副本要点.ppt
文本预览下载声明
* * 第3章 方法和作用域 After completing this chapter, you will be able to: Declare and call methods. Pass information to a method. Return information from a method. Define local and class scope. Use the integrated debugger to step in and out of methods as they run. * 3.1 创建方法 方法是一个具名的语句序列 包括方法名和方法体两部分 方法名用英语描述了方法的用途 方法的主体包含方法被调用时实际执行的语句 3.1.1 声明方法 C#方法的语法格式 returnType methodName(parameterList) { //这里添加方法主体语句 } 注意: C#不支持全局方法,所有的方法都必须在一个类的内部,否则代码无法编译 必须显式指定任何一个参数的类型和整个方法的返回值类型,不能使用var 如果不返回任何值,必须使用void 3.1.2 从方法返回数据 如果希望一个方法返回数据,必须在方法内部写一个return语句 例如: int addValues(int leftHandSide, int rightHandSide) { // ... return leftHandSide + rightHandSide; } 注意: return表达式的类型必须与方法的返回值类型相同,否则无法编译 return将导致方法结束,所以最好放在方法尾部,否则return后的任何语句都不会被执行 如果不希望返回数据,可以直接写return,然后紧跟一个分号 例如: void showResult(int answer) { // display the answer ... return; } 当然也可以省略return,,因为一旦执行到方法块的尾部,方法会自动结束 下面练习P45页的例子 补充:C#中将字符串转换成为整数的几种方法对比 Int32.TryParse() Int32.Parse() Convert.ToInt32() string myString=“1234”; int myInt=0; //第一种方法 myInt=Convert.ToInt32(myString); Response.Write(myInt+”br”); //第二种方法 myInt=Int32.Parse(myString); Response.Write(myInt+”br”); //第三种方法 Int32.TryParse(myString,out myInt); Response.Write(myInt+”br”); * string myString=null; int myInt=0; //第一种方法 myInt=Convert.ToInt32(myString); Response.Write(myInt+”br”); //第二种方法 myInt=Int32.Parse(myString); Response.Write(myInt+”br”); //第三种方法 Int32.TryParse(myString,out myInt); Response.Write(myInt+”br”); 结果:ToInt32不抛出异常,而是返回0,Int32.Parse会抛出异常,Int32.TryParse不抛出异常,会返回true或false来说明解析是否成功 从性能上讲:Int32.TryParse优于Int32.Parse,都优于Convert.ToInt32 * 3.2使用作用域 一个变量的作用域或范围,是指该变量能发挥作用的一个程序区域 方法也有作用域,一个标识符的作用域始于声明该标识符的那个位置 3.2.1 定义局部作用域 方法的作用域:{ } 在方法中声明的变量都具有该方法的作用域 一旦方法结束,它们也会随之消失 它们只能由该方法内部的代码访问,称之为局部变量 class Example { void firstMethod() { int myVar; ... } void anotherMethod() { myVar = 42; // error – variable not in scope ... } } 3.2.2 定义类的作用域 在类的主体中(但不能在方法中)声明的任何变量都具有那个类的作用域 C#中,使用字段表示在类中定义的变量 class Example { void firstMethod() { myField
显示全部