快速撑握C#知识点之类的函数成员(一)

C#方法详解
上一篇文章我们讲到了类的数据成员:字段,常量及事件,那么这一篇我们主要来看一下C#当中的函数成员:方法,属性,构造函数,折构函数,索引器,操作符.

方法: 在C#中是一个非常重要的概念,在这里的方法与其它语言中的函数相同,从字面意思上我们理解方法是指为达到某种目的而采取的途径,步骤,手段.那在我们C#中,方法定义的就是一个类的行为,是一段程序执行的步骤.在以前的内容中我们一直都在用方法来做为实现行为的容器.

方法:

        
/**/ /// <summary>
        
/// MyMagic不带参数,无返回值的公有方法
        
/// </summary>

         public   void  MyMagic()
        

            
//实现魔法
        }

        
/**/ /// <summary>
        
/// MyMoney不带参数,有返回值的私有方法
        
/// </summary>
        
/// <returns>输出N多9</returns>

         private   int  MyMoney()
        
{
            
return 9999999;
        }


        
/**/ /// <summary>
        
/// MyMoney带参数,有反回值的私有方法
        
/// </summary>
        
/// <param name="money">参数为money</param>
        
/// <returns>输出money</returns>

         public   int  MyMoney( int  money)
        
{
            
return money;
        }

在这里我们举了一此例子,与我们在学第二篇 快速撑握C#知识点之编写一个C#程序 时的Main基本相同.在这里要说明的是几个概念:
方法的标签:就是指整个方法的第一行如 public int MyMoney(int money)我们把这一行所有的内容称为方法的标签.
方法的参数:是指在标签当中括号括起来的部分如上例中的int money,方法的参数是可以有多个的,中间要用","号分隔.

方法的实现:指{}及其中间的所有内容.

ref关健字:可以做为进参,同时也可以做为出参.可以看下例理解.
         public   void  Main()
        
{
            
int inti = 1;
            
int intj = 1;
            Program pro 
= new Program();
            pro.MyMoney(
ref inti,intj);//使用 ref关健字,把inti参数传入方法MyMoney方法中.
            Console.WriteLine("i={0},j={1}",inti,intj);
        }


        
public   void  MyMoney( ref   int  inti, int  intj)
        
{
            inti 
= inti + 99;
            intj 
= intj + 99;
        }
以上程序的输出结果为:i=100,j=1
通过结果,我们可以看的出来ref关健字的作用,是指可以把MyMoney方法外部的变量inti的值传入方法中,在方法的实现运行完成之后将其计算结果的值再传出到变量inti中,而另一个变量intj并没有使用ref,那得到的结果就只是变量原来的值.我们可以得出ref 关健字就是起在使用方法时参数传递过程中可以作为进参,同时也可以做为出参.

out关健字:只可以做为出参
         public   void  Main()
        
{
            
int inti;
            
int intj = 1;
            Program pro 
= new Program();
            pro.MyMoney(
out inti,intj);
            Console.WriteLine(
"i={0},j={1}",inti,intj);
        }


        
public   void  MyMoney( out   int  inti, int  intj)
        
{
            inti 
= 1;
            inti 
= inti + 99;
            intj 
= intj + 99;
        }
以上程序的输出结果为:i=100,j=1
根据代码我们可以看的出inti变量并没有被显式的初始化值,可以看的出使用out关健字并不会把值传入方法当中.但是实现方法之后,会把参数再传递出来.
params 关健字:动态数组参数,在方法内部与main方法读取命令行参数类似.看下例:
     public   void  Magic( params   int [] i)
    
{
        
foreach(int ii in i)
        
{
            Console.WriteLine(ii);
        }

    }
在使用方法时:
Magic( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 )
params 关键字不允许任何其他参数,方法声明中只允许一个 params 关键字。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值