首页 > 代码库 > C#基础-变量与常量(2)
C#基础-变量与常量(2)
一、枚举类型:
枚举类型是一种独特的值类型,它用于声明一组具有相同性质的常量。
1、创建一个控制台应用程序通过枚举来判断当前日期是星期几:
1 class Program 2 { 3 enum MyDate //使用enum创建枚举 4 { 5 Sun = 0, //设置枚举值名称Sun,枚举值为0 6 Mon = 1, //设置枚举值名称Mon,枚举值为1 7 Tue = 2, //设置枚举值名称Tue,枚举值为2 8 Wed = 3, //设置枚举值名称Wed,枚举值为3 9 Thi = 4, //设置枚举值名称Thi,枚举值为410 Fri = 5, //设置枚举值名称Fri,枚举值为511 Sat = 6 //设置枚举值名称Sat,枚举值为612 }13 14 static void Main(string[] args)15 {16 int k = (int)DateTime.Now.DayOfWeek; //获取代表星期几的返回值17 switch (k)18 {19 //如果k等于枚举变量MyDate中的Sun的枚举值,则输出今天是星期日20 case (int)MyDate.Sun: Console.WriteLine("今天是星期日"); break;21 //如果k等于枚举变量MyDate中的Mon的枚举值,则输出今天是星期一22 case (int)MyDate.Mon: Console.WriteLine("今天是星期一"); break;23 //如果k等于枚举变量MyDate中的Tue的枚举值,则输出今天是星期二24 case (int)MyDate.Tue: Console.WriteLine("今天是星期二"); break;25 //如果k等于枚举变量MyDate中的Wed的枚举值,则输出今天是星期三26 case (int)MyDate.Wed: Console.WriteLine("今天是星期三"); break;27 //如果k等于枚举变量MyDate中的Thi的枚举值,则输出今天是星期四28 case (int)MyDate.Thi: Console.WriteLine("今天是星期四"); break;29 //如果k等于枚举变量MyDate中的Fri的枚举值,则输出今天是星期五30 case (int)MyDate.Fri: Console.WriteLine("今天是星期五"); break;31 //如果k等于枚举变量MyDate中的Sat的枚举值,则输出今天是星期六32 case (int)MyDate.Sat: Console.WriteLine("今天是星期六"); break;33 }34 Console.ReadLine();35 36 }37 }
二、类型转换
类型转换时将一种类型转换为另一种类型。转换可以是隐式转换或者是显示转换
1、隐式转换
所谓隐式转换就是不需要声明就能进行的转换
源类型 | 目 标 类 型 |
sbyte | short、int 、long、folat、double、decimal |
byte | short、ushort、int、uint、long、float、double或decimal |
short | int、long、ulong、float、double或decimal |
ushort | int、uint、long、ulong、float、double或decimal |
int | long、float、double或decimal |
uint | int、uint、long、float、double或decimal |
char | ushort、int、uint、long、ulong、float、double或decimal |
float | double |
ulong | float、double或decimal |
long | float、double或decimal |
将int类型的值隐式转换成long类型
1 int i=927; //声明一个整形变量i并初始化为927 2 long j=i; //隐式转换成long型
2、显示转换
显示转换也可以称为强制转换,需要在代码中明确地声明要转换的类型。如果要在不存在的隐式转换的类型之间转换,就需要使用显示转换。
源类型 | 目 标 类 型 |
---|---|
sbyte | byte、ushort、uint、ulong 或 char |
byte | Sbyte 或 char |
short | sbyte、byte、ushort、uint、ulong 或 char |
ushort | sbyte、byte、short 或 char |
int | sbyte、byte、short、ushort、uint、ulong 或 char |
uint | sbyte、byte、short、ushort、int 或 char |
long | sbyte、byte、short、ushort、int、uint、ulong 或 char |
ulong | sbyte、byte、short、ushort、int、uint、long 或 char |
char | sbyte、byte 或 short |
float | sbyte、byte、short、ushort、int、uint、long、ulong、char 或 decimal |
double | sbyte、byte、short、ushort、int、uint、long、ulong、char、float 或 decimal |
decimal | sbyte、byte、short、ushort、int、uint、long、ulong、char、float 或 double |
显式转换包含所有隐式转换和显式转换,因此总是可以使用强制转换表达式从任何数值类型转换为任何其他的数值类型。
创建控制台应用程序,将double类型的x进行显示类型转换
1 static void Main(string [] age)2 {3 double x=19810927.0112; //建立double类型变量x4 int y=(int)x; //显式转换成变量类型Y5 Console.WriteLine(y); //输出整形变量y6 Coneole.ReadLine();7 }
也可以通过Convert关键字来进行显式类型转换;
创建控制台应用程序,通过Convert关键字进行显式类型转换。
1 double x=19810927.0112; //建立double类型变量x2 int y=Convert.ToInt32(x); //通过Convert关键字转换3 Console.WriteLine(y); //输出整形变量y4 Console.ReadLine();
C#基础-变量与常量(2)