------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
方法
(函数)
功能:
用来复用代码的.当我们在一个程中反复的写了相同的代码.那一般情况下,我们可以把需要重复写的代码定义在一个方法中.用的时候只需要调用就行了.
定义方法的语法:
B
[访问修饰符][static] 返回值类型 方法名()
{
方法体
}
注意:1)方法一般定义在类中
2)如果方法没哟返回值.则返回类型写void
3)如果方法没有参数,()不能省略
其他注意
命名规则:方法名开头大写,参数名开头小写,参数名,变量名要有意义.
方法的调用:如果是静态方法(由static修饰的)则使用.
return可以立即退出方法.
类名.方法名();
在类中调用本调的方法,可以只写方法名();
(网上查了下常用方法,有好多)
.NET Reflector (.NET反编译工具)源代码查询
变量的作用域
[访问修饰符][static] 返回值类型 方法名([参数])
{
方法体
}
如:返回值
当调用者想访问我们方法中的变量时,可以通过返回值返回
例如:
string s = Console.WriteLine();
int i=Convert.ToInt32("22")
为什么方法前面能够定义一个变量收到方法的值,是因为在方面中使用了返回值.
只要在方法中返回了值,那么在调用方法中,前面就应该用一个变量来接受方法的返回值.
namespace fanhui
{
class Program
{
static void Main(string[] args)
{
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int sum = Add(a, b);
Console.WriteLine("平均值为{0}", + sum / 2);
Console.ReadKey();
}
public static int Add(int a, int b)
{ return a + b; }
}
}
注意:一个方法只能有一个返回值.
一旦一个方法有返回值,那注在这个方法值中,就必须通过return语句返回一个值,并且这个值要与返回值类型是相同的.语法:return 值;
练习
平年闰年的判断
namespace runnian
{
class Program
{
static void Main(string[] args)
{
int year = Convert.ToInt32(Console.ReadLine());
bool result = LeapYear(year);
if (result)
{ Console.WriteLine("闰年"); }
else
{ Console.WriteLine("平年"); }
Console.ReadKey();
}
public static bool LeapYear(int year)
{
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{ return true; }
else
{ return false; }
}
}
}
一个变量一旦定义在方法外,类的里面.就叫做类的字段.这个变量就可以被本类的所有方法所访问.当要注意,静态方法只能访问静态字段.
由const修饰的常量不能定义静态的
什么叫方法重载
一般在同一个类中,方法名相同,并且方法的参数的个数不同或者对应位置上的类型不同,才能构成方法的重载
注意:
方法重载和返回值没有关系.
方法的out参数和ref参数
如上:
步骤:
1)在方法的参数类型前加out,那么传参数的时候也必须在number前加out表明这个参数不是传入,而是用来传出值的
2)如果参数时以out形式传入的,那么在传入前可以不赋初值.
3)在方法中对于由out修饰的参数,必须赋值,并且必须在使用前赋值.
out用于传出值,大方法中必须对out修饰的传数进行赋值
ref可以理解成是双向的,既可以传入,又可以传出.
在传参数的过程中,如果参数有out或ref修饰的话,那么改变方法中的参数变量的值,调用者方法中变量的值也会相互改变.
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------