C#方法参数
成都创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、网站制作、成都网站设计、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
因方法要处理更改数值,你多多少少要传递值给方法,并从方法获得返回值。以下三个部分涉及到C#方法参数的三种参数。
◆输入参数
◆引用参数
◆输出参数
1.输入参数
你早已在例子中见过的一个参数就是输入参数。你用一个输入参数通过值传递一个变量给一个方法——方法的变量被调用者传递进来的值的一个拷贝初始化。示范输入参数的使用。
- using System;
- public class SquareSample
- {
- public int CalcSquare(int nSideLength)
- {
- return nSideLength*nSideLength;
- }
- }
- class SquareApp
- {
- public static void Main()
- {
- SquareSample sq = new SquareSample();
- Console.WriteLine(sq.CalcSquare(25)。ToString());
- }
- }
输入参数按C/C++程序员早已习惯的工作方式工作。如果你来自VB,请注意没有能被编译器处理的隐式ByVal或ByRef——如果没有设定,参数总是用值传递。
这点似乎与我前面所陈述的有冲突:对于一些变量类型,用值传递实际上意味着用引用传递。迷惑吗? 一点背景知识也不需要:COM中的东西就是接口,每一个类可以拥有一个或多个接口。一个接口只不过是一组函数指针,它不包含数据。
重复该数组会浪费很多内存资源;所以,仅开始地址被拷贝给方法,它作为调用者,仍然指向接口的相同指针。那就是为什么对象用值传递一个引用。
2.引用参数
尽管可以利用输入参数和返回值建立很多方法,但你一想到要传递值并原地修改它(也就是在相同的内存位置),就没有那么好运了。这里用引用参数就很方便。
因为你传递了一个变量给该方法(不仅仅是它的值),变量必须被初始化。否则,编译器会报警。显示如何用一个引用参数建立一个方法。
- // class SquareSample
- using System;
- public class SquareSample
- {
- public void CalcSquare(ref int nOne4All)
- {
- nOne4All *= nOne4All;
- }
- }
- class SquareApp
- {
- public static void Main()
- {
- SquareSample sq = new SquareSample();
- int nSquaredRef = 20; // 一定要初始化
- sq.CalcSquare(ref nSquaredRef);
- Console.WriteLine(nSquaredRef.ToString());
- }
- }
正如所看到的,所有你要做的就是给定义和调用都加上ref限定符。因为变量通过引用传递,你可以用它来计算出结果
并传回该结果。但是,在现实的应用程序中,我强烈建议要用两个变量,一个输入参数和一个引用参数。
3.输出参数
传递参数的第三种选择就是把它设作一个输出参数。正如该名字所暗示,一个输出参数仅用于从方法传递回一个结果。它和引用参数的另一个区别在于:调用者不必先初始化变量才调用方法。
- using System;
- public class SquareSample
- {
- public void CalcSquare(int nSideLength, out int nSquared)
- {
- nSquared = nSideLength * nSideLength;
- }
- }
- class SquareApp
- {
- public static void Main()
- {
- SquareSample sq = new SquareSample();
- int nSquared; // 不必初始化
- sq.CalcSquare(15, out nSquared);
- Console.WriteLine(nSquared.ToString());
- }
- }
以上介绍C#方法参数
分享标题:简单介绍C#方法参数
浏览地址:http://www.shufengxianlan.com/qtweb/news42/179692.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联