标签:
类型 | 大小 | 范围(包括边界值) | BCL名称 | 是否有符号 | 后缀 |
sbyte | 8位 | -128~127 | System.SByte | Yes | |
byte | 8位 | 0~255 | System.Byte | No | |
short | 16位 | -32768~32767 | System.Int16 | Yes | |
ushort | 16位 | 0~65535 | System.UInt16 | No | |
int | 32位 | -2147483648~2147483637 | System.Int32 | Yes | |
uint | 32位 | 0~4294967295 | System.UInt32 | No | U或u |
long | 64位 |
-9223 3720 0368 755 808~ 9223 3720 0368 755 807 |
System.Int64 | Yes | L或l |
ulong | 64位 | 0~18 466 744 073 709 551 615 | System.UInt64 | No | UL或ul |
类型 | 大小 | 范围(包括边界值) | BCL名称 | 有效数字 | 后缀 |
float | 32位 | System.Single | 7 | F或f | |
double | 64位 | System.Double | 15~16 | ||
类型 | 大小 | 范围(包括边界值) | BCL名称 | 有效数字 | 后缀 |
decimal | 128位 | System.Decimal | 28~29 | M或m | |
/*C#语法基础 * 1.C#程序是从Main方法开始执行。要求Main方法的返回值类型为void或int ,而且要么不带参数,要么接受一个字符串数组作为参数。当返回值是int的是状态吗,标志程序是否执行成功,返回非 * 0值通常意味着错误; * 2.类型:是具有相似特征和行为的个体的分类; * 3.一次赋值返回一个值,所以C#允许在同一条语句中连续进行多个赋值操作; * 4.基元类型:8中整数类型,2种二进制浮点类型,1种金融计算的额十进制浮点类型,1种布尔类型,1种字符类型,对于这13中基元类型都是struct类型; * 那也就是说这些都是值类型,也是是说都是派生自System.ValueType; * 5.对于8种整形来说存到局部变量(locals)里面都是int(8~64),uint(8~64)类型,在32位以前都是一int4(32位)加载,long和ulong转换成i8(64位) * 6.对于浮点类型来说:float,double分别是以r4和r8加载的,存储到局部变量中分别是float32和float62; * 7.对于deciaml 来说加载的时候是以i4加载的,在调用System.Decimal的构造进行实例化,存储到局部变量中是valueType [mscrolib]System.Decimal类型 * 8.格式说明符:“{0:x/X}”表示以16进制,"{0:R/r}"表示字符串转换为数值 * 9.bool类型的实际大小是一个字节 * 10.char 类型是2个字节 * 11.null只能赋给引用类型,可空值类型,指针 * 12.?可空修饰符;可以将null赋给值类型;在数据库编程中尤其有用; * 13.大小不一致的multidimensional Array会造成编译错误; * 14.交错数组:就是由数组构成的数组。交错数组不用逗号标识新的维,交错数组定义由数组构成的数组。 * 15.[]数组访问符 * 16.为了避免overflow最好用数组.Length-1来避免月结错误;不要使用硬编码 * User: YuanWei * Date: 2015/1/20 * Time: 9:36 * */ using System; namespace LearningBasis { class Program { public static void Main(string[] args) { // TODO: Implement Functionality Here // int rt=System.Console.Read();//返回的是对应的ascii的十进制整数, /*8种整形:sbyte,byte,short,ushort,int,uint,long,ulong*/ // sbyte sbNum=1;//8bits BCL:System.SByte // byte bNum=2;//BCL:System.Byte // short shNum=3;//16bits BCL:System.Int16 // ushort ushNum=4;//BCL:System.UInt16 // int iNum=5;//32bits BCL:System.Int32 // uint uiNum=6U;//有后缀 BCL:System.UInt32 // long lNum=7L;//有后缀//64bits BCL:System.Int64 // ulong ulNum=8UL;//有后缀BCL:System.UInt64 // /*3种浮点类型:float,double,decimal(特殊的浮点类型)*/ // float fNum=23.6f;//BCL:System.Single // double douNum=24.8;//BCL:System.Double // decimal decNum=45.9m;//BCL:System.Decimal // /*bool,char*/ // bool isReal=false;//BCL:System.Boolean // char word=‘a‘;//BCL:System.Char // /*string*/ // string strExample1="nihao"; // string strExample2="nihao"; // string strNull=null; // if(strNull==null) // { // Console.WriteLine("strNull is Null"); // } // Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}",sbNum,bNum,shNum,ushNum,iNum,uiNum,lNum,ulNum,fNum,douNum,decNum,isReal,word); // Console.WriteLine(strExample1); // Console.WriteLine(strExample2); // // //Display "Ox2A" // Console.WriteLine("0x{0:X}",42); //Fightable fight=(new Person("zhang")) as Fightable;//将Person类型转换为父接口Fightable //fight.Fight(); // Person p=new Person(); // p.person=new Person(); //Person p=new Person("xiaonizi"){person=new Person("haoren")}; //p.person.Fight(); // unchecked//强制不做溢出检查,checked做溢出检查 // { // int maxNum=int.MaxValue;//2147483647 // maxNum+=1; // Console.WriteLine(maxNum); // } /*先声明后赋值*/ // int [] arrayNum1; // arrayNum1=new int[3];//onw dismentional // arrayNum1={11,22,33};//错误 // int[,] arrayNum2; // arrayNum2=new int[2,3];//two dismentional // int [,,] arrayNum3; // arrayNum3=new int[2,3,4]; //three dismentional // int [,] cells=int[3,3]; // cells={{1,2,3},{1,2,0},{1,2,1}};//错误 // arrayNum2={{1,2,3},{1,2,3}};//错误 /*声明时赋值*/ // int [] arrayNum11={1,2,3}; // int [,] arrayNum22={{1,2},{1,2},{2,3}}; int [,,] arrayNum33={{{11,23},{22,45}},{{33,67},{44,58}}}; // int[] arrayNum44=new int[]{0,1,2}; // int[] arrayNum55=new int[3]{1,2,3};//其实不同写多少个,但是一但写了之后,在后面的赋值就必须有固定个数,不能多也不能少 // foreach(int num in arrayNum33) // { // Console.WriteLine(num); // } // string[] strArray=new string[3]; // Console.WriteLine(strArray[0]); // int[] test=new int[3]; // Console.WriteLine(test[1]); //Console.WriteLine(arrayNum33[1,1,1]);//访问数组里面的元素 //Console.WriteLine("{0},{1},{2}",arrayNum1.Length,arrayNum2.Length,arrayNum3.Length); /*交错数组:解析:int[]是数据类型,所以他之后的[]声明了一个int[]类型的数组,注意,交错数组要求为内部的每个数组都创建数组实例*/ int[][] cells={ new int[]{1,0,2,0}, new int[]{1,2,0}, new int[]{1,2}, new int[]{1} }; cells[0][1]=3;//访问交错数组中的元素 Array.Reverse(cells); // Array.Clear(cells,0,cells.Length-2); // foreach(int num in cells)//会报错:无法将类型“int[]”转换为“int”也就是说明上面的一个数组的类型是int[], // { // Console.WriteLine(num); // } // foreach(int[] num in cells)//num遍历到的是每一个int数组,换句话说,就是cells里面的元素是数组 // { // foreach(int subNum in num)//subNum表示的是每一个数组里面的元素 // { // Console.Write(" "+subNum+" "); // } // Console.WriteLine(); // } Console.ReadKey(true); } } interface Fightable { void Fight(); } class Person:Fightable { public Person(string name ) { this.Name=name; } public Person person{get;set;} public string Name{get;set;} public void Fight() { System.Console.WriteLine("I can fight"); } } }
标签:
原文地址:http://www.cnblogs.com/vivieryuan/p/4237671.html