1.常量 : 不能被重新赋值
声明常量的语法:const 变量类型 变量命 = 值; 例如 const int number = 50;
2.枚举类型 :一种变量类型,与int 、string等一样
语法:【public】 enum 枚举名{ 值1,值2,值3...}
public :访问修饰符 enum:声明枚举类型的关键字 枚举名:要符合Pascal命名规则
枚举一般写在命名空间下面,类的外面,便于所有类使用
使用方法: 枚举名 变量名 = 枚举名.值 例如:Gender gender = Gender.男;
3.枚举类型与 int和string类型的关系
枚举类型默认可以和int类型相互转换(枚举类型与int类型是兼容的,不会抛异常)
1)枚举类型强转成int类型
public enum QQState
{
OnLine,OffLine,Leave,Busy,QMe
}
Static void Main(string[] args)
{
QQState state = QQState.OnLine;
int n = (int)state;
}
结果 n = 0, 如果state = QQState.OffLine,则n=1.
2)int类型强转成枚举类型
Main中代码改成:
int n1 = 3;
QQState state = (QQState)n1;
state 的值为:Busy; 如果n1 = 8 ,则state的值为8,遇见转换不了的,则自动赋int值
枚举类型与string类型的关系:不兼容(会抛异常)
所有的类型都可以转换成string类型!
int类型转string类型::
int n2 = 10;
string s = n2.ToString();
s输出为10,值为“10”;
枚举类型转string类型:
QQState state = QQState.OnLine;
string s = state.ToString();
s输出为OnLine,值为“OnLine”;
string 类型转换成枚举类型:这里需要调用Enum.Parse(枚举类型,字符串)方法才能将字符串转换成枚举类型
string s1 = "0";
QQState state = (QQState)Enum.Parse(typeof(QQState),s1);
state输出值为:OnLine;
注意:如果如果字符串值为数字,超过枚举值,则state的值自动赋值为数字,如果不是数字,会出现异常!
4. 结构:可以一次性声明多个不同类型的变量。
语法:
【public】 struct 结构名
{
成员;//字段 为了区分普通变量,命名规则一般要用下划线开头,例如:_name,_age,_gender
}
用法与枚举类型差不多!
注意:成员可以是枚举类型或者结构类型
5.数组: 一次性声明多个相同类型的变量.
语法: 数组类型【】 数组名 = new 数组类型【数组长度】;
例如:
int[] nums = new int[10];
//给数组赋值
for(int i = 0; i<nums.Length; i++)
{
nums[i] = i;
}
//输出数组
for(int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
数组的长度一旦固定,就不能再被改变6.数组的应用
存储同类数据,通过循环可进行数据的操作
数组反转
冒泡排序:将一个数组的元素按照从大到小,或者从小到大的顺序排列