---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
方法的定义
什么是方法,方法是一种组合一系列语句以执行一个特定的操作或是计算一个特殊的结果的方式!
方法参数定义
什么是方法参数,方法参数其实是接收数据的;方法可以没有参数,执行指定的操作或是计算,参数就相当于根据客户需求传入相应的参数来执行相应的操作或是运算!
方法参数的传递方式分为两种方式
1、值传递(方法参数默认传递方式):方法执行相应的操作或是运算,并不会对参数产生任何的影响,只是提供一个参数的副本传递给方法执行
例子:
static void Main(string[] args)
{
TestClass t = new TestClass();//初始化对象
string name = "Jim";//声明name变量
t.TestParam(name);//将变量作为参数传递给TestParam方法
Console.WriteLine(string.Format("Hello,{0}", name));//输出原有的name值
Console.ReadKey();
}
public class TestClass//声明TestClass类
{
public void TestParam(string name)//声明方法
{//方法体
name = "Tom";//改变name的值
Console.WriteLine(string.Format("Hello,{0}", name));//输出改变后的name值
}
}
输出结果为:
Hello,Tom
Hello,Jim
虽然在方法的内部改变了name参数的值,但是原来的name值的并没有发生改变,这就是值传递
2、引用传递:与值传递相反,方法执行的操作或是计算都会反映在原来的参数本身上,参数传递的只是变量的引用地址!
例子:(只是将值传递的代码稍微改装一下,仔细看一下区别)
static void Main(string[] args)
{
TestClass t = new TestClass();//初始化对象
string name = "Jim";//声明name变量
t.TestParam(ref name);//将变量作为参数传递给TestParam方法
Console.WriteLine(string.Format("Hello,{0}", name));//输出原有的name值(值在方法体呢已经改变,此时也反映在了原有的变量值上)
Console.ReadKey();
}
public class TestClass//声明TestClass类
{
public void TestParam(ref string name)//声明方法
{//方法体
name = "Tom";//改变name的值
Console.WriteLine(string.Format("Hello,{0}", name));//输出改变后的name值
}
}
运行结果:
Hello,Tom
Hello,Tom
仔细观察不难发现方法上参数前只是加入了关键字ref,对就是这个关键字改变了参数传递的默认方式,此节不对ref、out和param关键字解说,后续会有相应的文章的!
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------