一、C#基础类型和变量类型C#支 持 两 种 类 型:“值 类 型”和“引 用 类 型”。值 类 型 包 括 简 单 类 型(如c h a r、i n t和f l o a t等)、枚 举 类 型 和 结 构 类 型。引 用 类 型 包 括 类(C l a ss)类型、接 口 类 型、委 托 类 型 和 数 组 类 型。变量的类型声明每 个 变 量 必 须 预 先 声 明 其 类 型。如int a;int b=100;float j=4.5;string s i;用 object可以表示所有的类型。预定义类型卜一表列出了预定义类型,并 说 明 如 何 使 用。类型说明示例范围object所有其他类型的最终基类型object o=null;string字符串类型:字符串是Unicode字符序列string s=hello”;sbyte8 位有符号整型sbyte val=12;-128 到 127short1 6 位有符号整型short val=12;-32,768 到 32,767int3 2 位有符号整型int val=12;-2,147,483,648 到2,147,483,647long6 4 位有符号整型long vail=12;-9,223,372,036,854,775,808long val2=34L;到9,223,372,036,854,775,807byte8 位无符号整型byte vail=12;0 至 Ij 255ushort1 6 位无符号整型ushort val1 =12;0 至 ij 65,535uint3 2 位无符号整型uint vail=12;uint va12=34U;0 到 4,294,967,295ulong6 4 位无符号整型ulong val1 =12;ulong val2=34U;ulong val3=56L;ulong val4=78UL;0到18,446,744,073,709,551,615float单精度浮点型float val=1.23F;7位1.5 x 10-45 至 1 3.4 x 1038double双精度浮点型double vail=1.23;double val2=4.56D;15-165.0 x 10-324 至+1.7 x 1()308bool布尔型;b o o l值或为真或为假bool vail=true;bool val2=false;char字符类型;c h a r值是一 个 Unicode字符char val=h;decimal精确的小数类型,具有2 8 个有效数字decimal val1.23M;28-291.0 X 10-28 到7.9 x 1028DateTime变量转换简单转换:float f=100.1234f;可以用括号转换:short s=(short)f也可以利用C o n v e r t方法来转换:string s i;si二 Convert.ToString(a);MessageBox.Show(si);常用Convert方法有:C#备注C o n v e r t.To B o o l e a nC o n v e r t.To B y teC o n v e r t.To C h a rC o n v e r t.To D a te Ti m eC o n v e r t.To D e c i m a lC o n v e r t.To D o u b l eC o n v e r t.To l n tl 6C o n v e r t.To l n t3 2C o n v e r t.To l n t6 4C o n v e r t.To S B y teC o n v e r t.To S i n g l eC o n v e r t.To S tr i n gC o n v e r t.To U I n tl 6C o n v e r t.To U I n t3 2C o n v e r t.To U I n t6 4Math 类常用科学计算方法:c#备注M a th.A b s绝对值M a th.S q r t开方M a th.R o u n d取整,四舍五入M a th.F l o o r取整,放弃小数M a th.C o s余弦M a th.S i n正弦M a th.Ta n正切M a th.E x p返回e的指定次舞M a th.L o g对数M a th.P o w(x,y)数字x的 y次基M a th.M a x (x,y)返回较大者M a th.M i n(x,y)返回较小者枚举型一般为字符串,可以定义带数字的枚举型,示例为:enum ColorRed=l,Blue=2,Green=3class Shapepublic int Fill(Color color)(int i i;switch(color)(case Color.Red:ii=10;break;case Color.Blue:ii=ll;break;case Color.Green:ii=12;break;default:ii=-l;break;return i i;)private void buttonl Click(object sender,System.EventArgs e)(int i;Shape si=new Shape();i=sl.Fill(Color)2);/i=sl.Fi 11(Color.Blue);MessageBox.Show(i.ToStringO);)Enum需要放在class外面,才能被其它class的程序调用。C#关键字a b str a c te v e n tn e wstr u c ta se x p l i c i tn u l lsw i tc hb a see x te r no b j e c tI h i sb o o lf a l seo p e r a to r i h r o wb r e a kf i n a l l yo u ttr u eb y tef i x e do v e r r i d e tr yc a sef l o a tp a r a m sty p e o fc a tc hf o op r i v a teu i n tc h a rf o o e a c hp r o te c te du l o n gc h e c k e dg o top u b l i cu n c h e c k e dc l a ssi fr e a d o n l y u n sa f ec o n sti m p l i c i tr e fu sh o r tc o n ti n u e i nr e tu r nu si n gd e c i m a li n tsb y tev i r tu a ld e f a u l ti n te r f a c e se a l e dv o l a ti l ed e l e g a te i n te r n a l sh o r tv o i dd oi ssi ze o fw h i l ed o u b l el o c ksta c k a l l o ce l sel o n gsi a l i ce n u mn a m e sp a c es I i-i ng数组定义数组是一种排列有序的数据结构,包含于数组中的变量被称为数组的元素,它们都有相同的类型。数组声明int array1 =new int5;int,array3=new int 10,20,30;int array 1 二 new int 1,2,4;数组引用a r r a y 1 0 =a l;注意,如果定义数组为i n t5,则从04。数组长度l i n e O.G e tL e n g th(1)数组赋值可以从一个已经赋值的数组array2向未赋值的同等数组array 1 赋值,用array l=array2;这时,array 1 就变成和array2 一样的数组了。集合集合的使用集合可以看成是可以随意添加的数组,因此凡是在使用数组的场合,都可以使用集合。而且集合的元素可以是任意对象,操作也比数组灵活的多。使用集合时,必须注意集合的生命期问题。如果有两个集合L 1和 L 2,使用TL1=L2;后,只 要 L 2 生命期没有终结,它的以后的变化就可能会影响到L 1 的数值。因此在赋值后应该及时销毁或者初始化L 2,以免发生不可预见的错误。比较使用Contains方法。ArrayList Array l=new ArrayList();Array l.Add(nasn);bool bl=Array 1 .ContainsCas);MessageBox.Show(bl.ToStringO);找到集合中数量最多的一个元素利用方法来查找,可以返回两个变量。object JmaxO(ArrayList vl1,ref int jj)int i;object j0=0;ArrayList yll=new ArrayListO;/各个不同的元素的集合int yl2=new intvll.Count;记录各个元素数量的数组int xmax=0;最大的个元素的数量for(i=0;ivl1.Count;i+)(j0=(object)v lli;if(yll.Contains(j0)y 12yll.IndexOf(jO)+;else(yll.Add(jO);y 12yll.Count-l=l;)xmax=yl20;j0=(object)y ll0;for(i=l;ixmax)(xmax=yl2i;j0=(object)y lli;)j j=xmax;return jO;)private void buttonl_Click(object sender,System.EventArgs e)ArrayList Arrayl=new ArrayList();int jj=O;double j0=0;object jl=0;j0=2.3;A r r ay 1.A dd(jO);J 0=2.3;A r r ay 1.A dd(jO);J 0=l.O O O f;A r r ay 1.A dd(jO);j0=2.3;A r r ay 1.A dd(jO);止1;A r r ay 1.A dd(jO);jl=J maxO(A r r ay1,r ef jj);M es s age B ox.S how(jl.T oS tr ing 0 +*+j j.T oS tr ingO);)运算符和判断判断if(x 10)if(y20)Console.Write(Statement_r,);elseConsole.Write(HStatement_2H);关系运算符,=等于:=不等于:!=判断字符串string和 char用 Equals方法。逻辑运算符与:a&b或:a I b非:!A模数运算符模数运算符()计算第二个操作数除第一个操作数后的余数。所有数值类型都具有预定义的模数运算符。如Console.WriteLine(5%2);/=1Console.WriteLine(-5%2);/=-1Console.WriteLine(5.0%2.2);/=0.6Console.WriteLine(-5.2%2.0);/=-1.2经常用模数运算符来判断整数为奇数(=1)或偶数(=0)o循环无条件循环int sum,x;sum=0;fo r(x=l;x=100;x+)sum+=x;)有条件循环private void buttonl_Click(object sender,System.EventArgs e)int sum=0;int x=0;while(sum100)&(x20)(x+;sum+二x;)string s2=Convert.ToString(x);MessageBox.S