今天由于有些私人原因把学习给耽搁了,本来还想趁着星期天赶快再多看它点,哎..无奈了..能看多尽量看多些了,白天的时间补不回来了。
============================================================================================
枚举:有时我们希望变量提取的是一个固定集合中的值,例如,orientation类型就可以储存north,south,east,west中的一个值,因此我们要创建我们自己的枚举类型。用enum来定义
结构:由数据组成的数据结构,类型可以不同,定义结构用struct来定义他们。
以上是我从课本上“抄”在笔记本上的,再抄到这里以方便这里理解。
============================================================================================
- static void Main(string[] args)
- {
- short shortResult, shortVar = 4;
- int intVar = 67;
- long longResult;
- float floatVar = 10.5F;
- double doubleResult, doubleVar = 99.999;
- string stringResult, stringVar = "17";
- bool boolVar = true;
- //定义完毕
- Console.WriteLine("Varible Conversion Examples/n");
- doubleResult = floatVar * shortVar;
- Console.WriteLine("转换成double型:{0}*{1}->{2}", floatVar, shortVar, doubleResult);
- shortResult = (short)floatVar;
- Console.WriteLine("Explicit,->short:{0}->{1}", floatVar, shortResult);
- stringResult = Convert.ToString(boolVar) + Convert.ToString(doubleVar);
- Console.WriteLine("Explicit,->string:/"{0}/"+/"{1}/"->{2}", boolVar, doubleVar, stringResult);
- longResult = intVar + Convert.ToInt64(stringVar);
- Console.WriteLine("Mixed,->long:{0}+{1}->{2}", intVar, stringVar, longResult);
- }
一条简单的各种类型之间的转换程序,关键记住每种类型的范围就OK了,string没范围...
- namespace Ch05Ex02
- {
- enum orientation : byte
- {
- north=1,
- south=2,
- east=3,
- west=4,
- }
- class Program
- {
- static void Main(string[] args)
- {
- byte directionByte;
- string directionString;
- orientation myDirection = orientation.north;
- Console.WriteLine("Mydirection= {0}",myDirection);
- directionByte = (byte)myDirection;
- directionString = Convert.ToString(myDirection);
- Console.WriteLine("direction equivalent={0}",directionByte);
- Console.WriteLine("direction equivalent={0}",directionString);
- }
- }
- }
枚举的定义,定义在MAIN外面,类型可以自己设定
- enum orientation : byte
- {
- north=1,
- south=2,
- east=3,
- west=4,
- }
- struct route
- {
- public orientation direction;
- public double distance;
- }
- class Program
- {
- static void Main(string[] args)
- {
- route myRoute;
- int myDirection = -1;
- double myDistance;
- Console.WriteLine("1)north/n2)south/n3)east/n4)west");
- do
- {
- Console.WriteLine("select a direction:");
- myDirection = Convert.ToInt32(Console.ReadLine());
- }
- while ((myDirection < 1) || (myDirection > 4));
- Console.WriteLine("Input a distance:");
- myDistance = Convert.ToDouble(Console.ReadLine());
- myRoute.direction = (orientation)myDirection;
- myRoute.distance = myDistance;
- Console.WriteLine("myRoute specifies a distance of {0} and a "+"distance of {1}",myRoute.direction,myRoute.distance);
- }
- }
结构,用struct name {}来定义,跟枚举的定义有少许不同,可以引用已经在枚举中定义好的类型,后面的程序段无非也就是循环与类型的转化并输出,加深我们对其的了解。