C#学习资料(内部资料).pdf
《C#学习资料(内部资料).pdf》由会员分享,可在线阅读,更多相关《C#学习资料(内部资料).pdf(94页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、、C#基础类型和变量类型C#支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如c h a r、i n t和f l o a t等)、枚举类型和结构类型。引用类型包括类(C l a s s)类型、接口类型、委托类型和数组类型。变量的类型声明每个变量必须预先声明其类型。如int a;int b=100;float j=4.5;string s i;用 object可以表示所有的类型。预定义类型下表列出了预定义类型,并说明如何使用。类型说明示例范围object所有其他类型的最终基类型object o=null;string字符串类型;字符串是Unicode字符序列string s=hell
2、o”;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 到
3、65,535uint3 2 位无符号整型uint vail=12;uint val2=34U;0 到 4,294,967,295ulong6 4 位无符号整型ulong vail=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 到3.4 x 1038double双精度浮点型double va1 =1.23;double va12 二4.56D;15-165.0 x 10-324 到 1.7 X 1()308b
4、ool布尔型;b o o l值或为真或为假bool val1 =true;bool val2=false;char字符类型;c h ar值是一 个 Unicode字符char val=h;decimal精确的小数类型,具有2 8 个有效数字decimal val=1.23M;28-291.0 x IO-28 到7.9 x 1028DateTime变量转换简单转换:float f=100.1234f;可以用括号转换:short s=(short)f也可以利用C o n v ert方法来转换:string s i;si二 Convert.ToString(a);MessageBox.Show(si
5、);常用Convert方法有:C#备注C o n v e r t.T o B o o l e a nC o n v e r t.T o B yt eC o n v e r t.T o C h a rC o n v e r t.T o D a t e T i m eC o n v e r t.T o D e c i m a lC o n v e r t.T o D o u b l eC o n v e r t.T o l n t l 6C o n v e r t.T o l n t 3 2C o n v e r t.T o l n t 6 4C o n v e r t.T o S B yt eC
6、 o n v e r t.T o S i n g l eC o n v e r t.T o S t r i n gC o n v e r t.T o U I n t l 6C o n v e r t.T o U I n t 3 2C o n v e r t.T o U I n t 6 4Math 类常用科学计算方法:c#备注M a t h.A b s绝对值M a t h.S q r t开方M a t h.R o u n d取整,四舍五入M a t h.F l o o r取整,放弃小数M a t h.C o s余弦M a t h.S i n正弦M a t h.T a n正切M a t h.E x
7、 p返回e的指定次事M a t h.L o g对数M a t h.P o w (x,y)数字x的 y 次嘉M a t h.M a x (x,y)返回较大者M a t h.M i n(x,y)返回较小者枚举型一般为字符串,可以定义带数字的枚举型,示例为:e n u m C o l o r(R e d=l,B l u e=2,G r e e n=3)c l a s s S h a p e(p u b l i c i n t F i l l(C o l o r c o l o r)(i n t i i;s w i t c h(c o l o r)(c a s e C o l o r.R e d:i
8、i=1 0;b r e a k;c a s e C o l o r.B l u e:i i=l l;b r e a k;c a s e C o l o r.G r e e n:i i=1 2;b r e a k;d e f a u l t:i i=-l;b r e a k;r e t u r n i i;)p r i v a t e v o i d b u t t o n l _ C l i c k(o b j e c t s e n d e r,S ys t e m.E v e n t A r g s e)(i n t i;S h a p e s l=n e w S h a p e ();i
9、=s l.F i l l (C o l o r)2);/i=s l.F i l l(C o l o r.B l u e);M e s s a g e B o x.S h o w(i.T o S t r i n g O);Enum需要放在class外面,才能被其它class的程序调用。C#关键字a b s t r a c t e v e n tn e ws t r u c ta se x p l i c i t n u l ls w i t c hb a s ee x t e r no b j e c tt h i sb o o lf a l s eo p e r a t o r t h r o
10、 wb r e a kf i n a l l yo u tt r u eb yt ef i x e do v e r r i d e t r yc a s ef l o a tp a r a m st yp e o fc a t c hf o rp r i v a t eu i n tc h a rf o c e a c hp r o t e c t e du l o n gc h e c k e dg o t op u b l i cu n c h e c k e dc l a s si fr e a d o n l yu n s a f ec o n s ti m p l i c i t
11、r e fs h o r tc o n t i n u ei nr e t u r nu s i n gd e c i m a li n is b yt ev i r t u a ld e f a u l ti n t e r f a c e s e a l e dv o l a t i l ed e l e g a t e i n t e r n a l s h o r tv o i dd oi ss i z e o fw h i l ed o u b l el o c ks t a c k a l l o ce l s el o n gs t a t i ce n u mn a m e s
12、 p a c e s t r i n g数组定义数组是一种排列有序的数据结构,包含于数组中的变量被称为数组的元素,它们都有相同的类型。数组声明int array1 =new in t5;int,array3=new int 10,20,30;int array 1=new int 1,2,4;数组引用a r r a yl O=,za lz/;注意,如果定义数组为int5,则从04。数组长度l i n e O.G e t L e n g t h (1)数组赋值可以从一个已经赋值的数组array2向未赋值的同等数组array 1赋值,用arrayl=array2;这时,array 1就变成和arr
13、ay2 一样的数组了。集合集合的使用集合可以看成是可以随意添加的数组,因此凡是在使用数组的场合,都可以使用集合。而且集合的元素可以是任意对象,操作也比数组灵活的多。使用集合时,必须注意集合的生命期问题。如果有两个集合L 1和L 2,使用TL1=L2;后,只要L 2生命期没有终结,它的以后的变化就可能会影响到L 1的数值。因此在赋值后应该及时销毁或者初始化L 2,以免发生不可预见的错误。比较使用Contains方法。ArrayList Array l=new ArrayList();Array l.Add(Has,!);bool b 1 =Array 1 .Contains(HasH);Mess
14、ageBox.Show(b l.ToStringQ);找到集合中数量最多的一个元素利用方法来查找,可以返回两个变量。object J maxO(A rrayL is t vll,ref int jj)(int i;object j0=0;A rrayL is t yll=new A rrayL is t ();/各个不同的元素的集合int yl2=new int vll.C ount;记录各个元素数量的数组int xmax=0;最大的一个元素的数量for(i=0;i vll.C ount;i+)(jO=(object)vlli;if(yl 1.C ont ains(jO)(yl2 yll.In
15、dexO f(jO)+;)els e(yll.A dd(jO);yl2 yll.C ount-1=1;)xmax=yl2 0;jO=(object)yll0;for(i=l;i xmax)(xmax=yl2 i;jO=(object)ylli;)jj=xmax;ret urn jO;)privat e void but t onl_C lick(object s ender,S ys t em.E vent A rgs e)(A rrayL is t A rrayl=new A rrayL is t();int jj=O;double j0=0;object jl=0;j0=2.3;A rra
16、y 1.A dd(jO);j0=2.3;A rray 1.A dd(jO);jO=l.O O O f;A rray 1.A dd(jO);j0=2.3;A rray 1.A dd(jO);J 0=l;A rray 1.A dd(jO);jl=J maxO(A rray 1,ref jj);M es s ageB ox.S how(jl.T oS t ringO+,z +j j.T oS t ringO);)运算符和判断判断if(x 10)if(y20)Console.Write(nStatement_ln);elseConsole.Write(nStatement_2n);关系运算符,=等于:
17、=不等于:!=判断字符串string和 char用 Equals方法。逻辑运算符与:a&b或:a|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)。循环无条件循环int s um,x;s um=0;for(x=l;x=1 0 0;x+)(s
18、 um+=x;有条件循环privat e void but t on1 C lick(object s ender,S ys t em.E vent A rgs e)(int s um=0;int x=0;while(s um 1 0 0)&(x 2 0)(x+;s um+=x;)s t ring s 2=C onvert.T oS t ring(x);M es s ageB ox.S how(s 2);)运行显示14。如果改为while(sum100)|(x20)运行显示20。多重选择switch(i)(case 0:CaseZero();break;case 1:CaseOne();bre
19、ak;default:CaseOthers();break;)每个case后面,必须有break或者g o to,不允许贯穿。Gotogoto语句将程序控制直接传递给标记语句。for(int i=0;i x;i+)for(intj=0;jOKCancel RetryCancel YesNo YesNoCancelo获取返回信息p r i v a t e v o i d b u t t o n 2 _ Cl i c k(o b j e c t s e n d e r,Sys t e m.Ev e n t Ar g s e)(Di a l o g Re s u l t r e s u l t;r
20、e s u l t =Me s s a g e Bo x.Sh o w(n a m e ,Na m e En t r y”,Me s s a g e Bo xBu t t o n s.Ye s No,Me s s a g e Bo xIc o n.Qu e s ti o n);Me s s a g e Bo x.Sh o w(r e s u l t.To Str i n g O);)如果要参与判断,则用s tr i n g Is=r e s u l t.To Str i n g O;完全使用方法本例检查textBoxl中输入文本没有,如果没有就提示,并可以获取返回信息。p r i v a te
21、 v o i d b u tto n l _ Cl i c k(o b j e c t s e n d e r,Sy s te m.Ev e n tAr g s e)(i f(te x tBo x l.Te x t.Le n g th 二 二 0)(s tr i n g m e s s a g e =Yo u d i d n o t e n te r a s e r v e r n a m e.Ca n c e l th i s o p e r a ti o n?*;s tr i n g c a p ti o n =No Se r v e r Na m e Sp e c i f i e d”;
22、Me s s a g e Bo x Bu tto n s b u tto n s =Me s s a g e Bo x Bu tto n s.Ye s No;Di a l o g Re s u l t r e s u l t;r e s u l t=Me s s a g e Bo x.Sh o w(th i s,m e s s a g e,c a p ti o n,b u tto n s,Me s s a g e Bo x Ic o n.Qu e s ti o n,Me s s a g e Bo x De f a u 1 tBu tto n.Bu tto n l,Me s s a g e Bo
23、 x Op ti o n s.Ri g h tAl i g n);i f(r e s u l t=Di a l o g Re s u l t.Ye s)th i s.Cl o s e ();文本框基本功能文本框主要是用来输入和显示文字的。添 加,个TextBox,系统自己产生名字textBoxl,程序如下:p r i v a te v o i d b u tto n l _ Cl i c k(o b j e c t s e n d e r,Sy s te m.Ev e n tAr g s e)(Me s s a g e Bo x.Sh o w(te x tBo x l.Te x t);运行时,
24、就可以在消息框中显示文本框输入的字符串。TextBox一般显示单行,如果把属性Multiline改为Ture,还可以显示多行数字。输入数字输入数字需要转换:i n t a;s tr i n g s i;a=Co n v e r t.To In tl 6(te x tBo x l.Te x t);a=a+5;s l=Co n v e r t.To Str i n g(a);Me s s a g e Bo x.Sh o w(s i);初始化文本框的初始化就是向文本框赋初始值。可以从事件过程里写入,也可以在IDE的右边属性栏里输入,但是推荐采用在Form初始化时写入。p u b l i c Fo r
25、 m l ()(In i ti a l i z e Co m p o n e n t();/TODO:在In i l i a l i z e Co m p o n e n l调用后添加任何构造函数代码te x tBo x l.Te x t=”;)窗体调用简单调用上面的例子都是在个窗体中,实际程序需要儿十甚至上百个窗体。以下例子创建两个窗体,然后实现相互调用。在Forml中添加两个Button,一个标题为调用,一个标题为退出。使 用【项目】/【添加窗体工添加一个窗体,缺省名称为Form2。添加一个Button,标题为返回。窗 体1程序为:p r i v a te v o i d b u tto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 学习 资料 内部
限制150内