- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 方法、数组和自定义数据类型
Visual C#程序设计与项目实践 第4章 流程控制 在实际的应用当中,往往需要处理成批的数据,而且这些数据之间存在着一定的联系,或者需要将一些类型和内容不同的数据放在一块处理。使用前面所介绍的简单基本类型,处理这些数据就非常困难。这时就需要使用方法、数组、数组列表、结构和枚举等内容。 重点内容: C#中的方法 数组和数组列表 枚举类型 结构体的使用 一、 用户自定义方法的定义、调用与说明 1. 一个方法调用的例子 方法是有一定功能的逻辑代码段,可以执行特定的操作。方法使用广泛且方便,能够使程序更加灵活。如果要求出表达式(n!)/((n-m)!*m!)的值,使用方法将会变得简单,首先定义求阶乘的方法,然后在主方法中调用就可以实现。定义阶乘的方法如下所示: static long fac(int x) //自定义一个方法用来求X阶乘 { long s = 1; //定义一个长整型变量s,用于存放x的阶乘值 for (int i = 1; i = x; i++) //从1循环到x { s = s * i; //将1到x的值依次相乘 } return s; //返回s的值 } 一、 用户自定义方法的定义、调用与说明 2. 定义方法 所谓方法是把一些相关的语句组织在一起,用于解决某一特定问题的代码块。方法都有返回值,除了返回值为空(void)的方法外,都需要在方法的结尾处使用return语句返回指定类型的值。定义方法的格式如下所示。 修饰符 返回值类型 方法名(参数) { 语句 } 例如: static long fac(int x) 一、 用户自定义方法的定义、调用与说明 3. 方法返回值 返回值就是通过方法的调用得到一个确定的值。方法可以利用返回值进行数据交换。在方法内部,通过一些指定的指令进行运算,并将运算结构通过返回值的形式返回到方法的调用处。 例如fac()方法中的“return s;”表示返回“s”到主调方法中去。return是关键字,return后面的值也可以是一个表达式。 一、 用户自定义方法的定义、调用与说明 4. 方法调用 在C#中,一般定义方法是用来被重复调用的。但Main()方法不能被调用。所谓方法调用就是在执行程序的时候,转去执行被调方法。被调方法执行完后,再回到原来的调用处,继续执行程序。在调用方法时,需要注意以下问题。 一、方法要先定义,后使用; 二、调用方法时,方法名必须和定义时的方法名完全相同,实参和形参的类型、个数、顺序必须一一对应; 三、调用方法时,每个实参应该有确定的值。 一、 用户自定义方法的定义、调用与说明 5. 方法的递归调用 在C#语言中,除Main方法以外的所有方法,都允许调用其他方法或被其他方法调用,也可以调用本身。方法的递归调用即方法调用自身。 关于递归调用,更为经典的例子——斐波那契数列。意大利数学家列昂纳多·斐波那契通过兔子的繁殖来引入这样一个数列:1,1,2,3,5,8,13,21…这个数列从第三项开始,每一项都等于前两项之和。下面的方法定义了求斐波那契数列的递归方法。 static long fibonacci(long n) //求递归的方法 { if (n == 1|| n == 2) //判断数值 return 1; //当n=0或n=1时,值为1 else return fibonacci(n - 1) + fibonacci(n - 2);//递归调用 } 二、 参数的传递方式 3. 引用调用 return语句用来返回结果。若在调用方法时需要一次能返回两个或两个以上的值,return语句就无法实现。这样的话可以使用引用类型和输出参数的方式实现。 如果实参和形参占用相同的内存地址,那么形参一有改变,对应的实参也会跟着改变。这样就可以将方法swap()执行的结果,回传给主方法,这种调用方式叫引用调用。定义方式如下所示: static void swap( ref int x,ref int y) { } 定义后就可以在主方法中进行调用该方法,调用的方式如下所示: swap( ref x,ref y); 二、 参数的传递方式 2. 输出参数 声明out方法也可以实现返回一个或多个值。具体操作是输出参数在调用语句和被调用方法的参数列表的参数前加上out即可。out方法会将变量清空,即便变量已经赋值。在退出方法时,所有out引用的变量都要赋值,请看下面定义方法的代码: static void swapOut( out int x,out int y) { } 调用swapOut前
文档评论(0)