枚举
/// <summary>
/// 枚举/// </summary>
enum Sex
{
男, 女
}
//枚举是值类型//枚举值是从0递增的整数
//枚举不能定义字段属性和方法
枚举enum——>字符串String
Sex.男.ToString();
字符串String——>枚举enum
string value ="女";
Sex 变量名 = (Sex)Enum.Parse(typeof(Sex),value);
ref
//ref关键字 使值类型参数,按引用类型传参
static void Main(string[] args){
int age = 3;
Growth(ref age);
Console.WriteLine("我{0}岁了",age);//4岁了
}
static void Growth(ref int age)//值类型参数,按引用类型传参
{
age++;
}
out
//out 关键字
//与ref关键字一样,out关键字也是按引用来传递的.
//out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,
//不同之处在于 ref 要求变量必须在传递之前进行初始化。
//要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字
//二者本质的区别就是,ref是传入值,out是传出值.
ref:一般需要把外部的值传入到方法中使用并进行修改;
out:一般传递变量进入某个方法中接收数据;
string value = "12";
int num;
//out传递也是变量的地址,内部给这个变量赋值
if (int.TryParse(value, out num))//转换成功就返回true,并把结果存储在变量num中
{
Console.WriteLine("装换成功:" + num);//转换成功:12
}
else {
Console.WriteLine("转换失败");
}