常量:const 类型 常量名 = 常量值
常量赋值后不允许再改变常量的值,这样做的好处是防止程序员不小心给常量重新赋值或恶意改变它的值。如const double p = 3.14;
枚举:枚举的意义在于限定了变量的取值范围;如:enum Gender{男,女},枚举的定义一般和类同级,这样在这个命名空间下的类和文件下都可以使用(当然方法和类中也可以定义枚举)。
枚举的作用:1、限定用户不能随意赋值,只能在枚举定义时列举的值中选择;
2、程序员不需要记住每一值是什么,编程时只需要选择相应的值;
枚举变量的值都可以强制转换成int类型的值,编号从0开始,0、1、2、3…..;
把一个字符串尝试转换成枚举:string sex = "男";
Gender gender=(Gender)(Enum.Parse(typeof(Gender),sex));
ref和out :
out用来对参数进行往外传值,实现步骤:
1、 在方法的参数类型前加out,那么在传参数的时候,也必须在变量名前加out,表明这个参数不是会改传入的,而是用来传出值的;
2、 如果参数是以out形式传参数的,那么在传入前可以不赋初值。
3、 在方法中对于由out修饰的参数,必须在方法中赋值,并在使用前赋值。
看代码:
static void Main(string[] args)
{
int num =2;
int result= Test(out num);
Console.Write("num={0},result={1}",num,result);
}
static int Test(out int a)
{
a = 10;
a++;
return 500;
}
这里num之所以等于11,是因为把a的值传出来赋给了num;通过out很好的解决了一个方法只能有一个返回值的问题,如:写一个方法计算int数组中每个元素的总和,最大值和最小值。
static int Coumpute(int[] num,out int max,out int min)
{
int sum = 0;
max=num[0];
min=num[0];
for (int i = 0; i < num.Length;i++ )
{
sum+=num[i];
if (max < num[i])
{
max=num[i];
}
if (min > num[i])
{
min = num[i];
}
}
return sum;
}
Ref既可以传入,也可以传出,加ref又叫引用传递。在传参数过程中,如果加了out或ref修饰的话,改变方法中参数变量的值,调用者方法中变量的值也会改变。
不同点:out用于传出值,在方法中必须对out修饰的参数进行赋值。
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------详细请查看: http://net.itheima.com/