---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
方法重载:
一般在同一个类中,方法名相同,并且方法的个数不同,或者对应的位置上类型不同,就构成方法的重载
注意:方法重载和返回值没有关系.
重载练习:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace MyCAPP
{
class Program
{
static voidMain(string[] args)
{
Console.WriteLine("取两个数中的最大数\n请输入第一个数:");try
{
int iInputFirst = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数:");
int iInputSecond = int.Parse(Console.ReadLine());int iResult = Max(iInputFirst, iInputSecond);
Console.WriteLine("最大数为:" + iResult);
}
catch
{
Console.WriteLine("你的输入有误!");
}
Console.ReadKey();
}
/// <summary>
/// 本方法用于找出两个数中的最大的数.
/// </summary>
/// <param name="iNum1">第一个参数</param>
/// <param name="iNum2">第二个参数</param>
/// <returns></returns>
public staticint Max(int iNum1,int iNum2)
{
if (iNum1 > iNum2)
{
return iNum1;
}
else
{
return iNum2;
}
}/// <summary>
/// 本方法用于找出两个数中的最大的数.
/// </summary>
/// <param name="iNum1">第一个参数</param>
/// <param name="iNum2">第二个参数 </param>
/// <returns></returns>
public staticdouble Max(double iNum1,double iNum2)
{
if (iNum1 > iNum2)
{
return iNum1;
}
else
{
return iNum2;
}
}
}}
运行结果为:
方法的out参数和ref参数
因为方法只能返回一个值,所以要想返回多个值的时候就要用到out 和 ref 参数.
out实现步骤
1)在方法的参数类型前加out,那么传参的时候也必须在变量前加out 表明这个参数不是传入的,而是用来传出值的.
2)如果参数是以out形式传入的,传入前可以不赋值.
3)在方法中对于由out修饰的参数,必须赋值,并且必须在使用平赋值.
out传参练习:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace MyCAPP
{
class Program
{
static void Main(string[] args)
{int iNumber;
int iResult = Test(out iNumber); //因为要调用的带有out参数类型的方法,调用时要在变量前加 out.
Console.WriteLine("Number ={0} Result = {1}",iNumber,iResult);
Console.ReadKey();}
static int Test(out int oiNum) //带有out参数类型的方法
{
oiNum = 10;
oiNum = oiNum + 1;return 200;
}
}
}运行结果为:
ref参数传递
ref参数传递是双向的,即可以传入,也可以传出.
例如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace MyTryParse
{
class Program
{
static void Main(string[] args)
{
int iNumber = 100;
int iTemp =Test(ref iNumber);
Console.WriteLine("ref参数传出的值为:{0}\n方法的retrun值:{1}",iNumber,iTemp);
Console.ReadKey();}
static int Test(ref int iNum)
{
int temp = iNum;
iNum = 50;
return temp;
}}
}运行的结果为:
总结在参数传递过程中,如果有out 或 ref修饰的话,那么改变方法中参数变量的值,调用者方法中变量的值也会相应改变.
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------