黑马程序员----常量、枚举、结构、数组
1、常量的定义:
const 数据类型 变量名;
常量只能在初始化的时候赋值,可以把不经常改变的数定义为常量,这样可以防止在写程序时被恶意修改。常量可以重复使用。
2、枚举的定义:
上我们定义一种枚举类型并且在定义这种类型时制定这个类型的所有值。
语法:
enum 自己起的类型的名称{值1,值2,值3,…值n};
美剧的定义,一般和类在一个级别。这样,在同一个命名空间下所有的类都可以使用这个枚举了!
枚举的作用:
1) 限制用户不能随意赋值,只能赋在定义枚举时列举的值中选择。
2) 不需要记住每一个值是什么,只需要选择相应的值。
注意:定义枚举的时候,值不能是int类型。
枚举类型的变量都可以强制转换成一个int类型
枚举的值在定义的时候是有一个默认编号的,编号从0开始。
例子:
enum Gender
{
男,
女
}
如何把字符串转换成枚举类型的方法:
(自枚)(Enum.Parse(typeof(自枚),”待转换的字符串”));
string s=Console.ReadLine();
try
{
sex=(Gender)(Enum.Parse(typeof(Gender),s));
Console.WriteLine(“你输入的性别是:”+
sex.ToString());
}catch
{
}
3、结构类型
为什么要用结构?
1) 比如我们为了存储一个人的信息,要声明一组变量。当我们要存储n个人的信息时,就要声明n组变量,比较麻烦。
2) 存储一个人的信息的这个变量没有关系,容易记混
语法:
访问修饰符 strut 结构名
{
定义结构成员//包含变量和方法
}
public strut Person
{
public sting name;
public int Age;
public Gender sex;
public string Hobby;
public void SayHello(){
//方法定义
}
}
定义好一个结构后,,就可以直接声明相应的变量了。
声明好一个结构变量后,就可以用该变量名.成员名来调用
Person onePerson;
onePerson.name=”zhangsan”;
onePerson.Age=20;
onePerson.sex=Gerder.男;
4、数组:
可以帮我们一次声明多个同类型的变量。
这些变量在内存中是连续存储的。
语法:
数据类型[] 数组名=new数据类型[数组长度];
int [] score=new int[10];
定义了一个int数组score,长度为5
就是声明了一个数组,里面包含了5个int类型的变量,这5个int来型的变量叫做数组的元素。
访问数组:通过下标(索引器)来访问数组。下标是0到length-1.
比如,我们要向第0个元素赋值3,
score[0]=3;
int类型数组,里面的每个元素初始化为0;
获得数组的长度:数组名.Length
Console.Clear();对屏幕清零
5、out和ref小结
1) 在方法的参数类型前加out,那么传参数的时候,也必须在参数前加out表明这个参数不是用来传入的,而是用来传出值的。
2) 如果参数是以out形式传入的,那么在传入前可以不赋初值。
3) 在方法中对于由out修饰的参数,必须赋值,并且在使用前赋值。
out用于传出值,在方法中必须对out修饰的参数进行赋值
ref既可以用于往内传值,也可以用于往外传值。
再传参数的过程中,如果参数有out或ref修饰的话,那么改变方法中的参数变量的值,条用着方法中变量的值也会相应的改变。