注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 LCS2005客户端配置详解:L..
 帮助

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


2008-07-09 10:20:00
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
上一篇文章我们讲到了类的数据成员:字段,常量及事件,那么这一篇我们主要来看一下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 关键字。
 

本文出自 “共享经验” 博客,转载请与作者联系!





    文章评论
 
2008-07-23 10:23:19
恩 不错的文章 C#中方法 属性等都是学习的重点

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: