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=h
2、ello”;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;long val2=34L;-9,223,372,036,854,775,808到9,223,372,036,854,775,807byte8 位无符号整型byte vail=12;0 到 255ushort1 6 位无符号整型ushort vail=12;0 到 6
3、5,535uint3 2 位无符号整型uint vail=12;uint val2=34U;0 到 4,294,967,295ulong6 4 位无符号整型ulong vail=12;ulong va12=34U;ulong va!3=56L;ulong va14=78UL;0到18,446,744,073,709,551,615float单精度浮点型float val=1.23F;7位+1.5 x 10-45 到3.4 x IO58double双精度浮点型double vail=1.23;double val2=4.56D;15-165.0 X 10-324 到1.7 x IO308bool
4、布尔型;b o o l值或为真或为假bool vail=true;bool val2=false;char字符类型;c h a r值是一 个 Unicode字符char val=h;decimal精确的小数类型,具有2 8 个有效数字decimal val=1.23M;28-291.0 x10-28 到7.9 x 1028DateTime变量转换简单转换:float f=100.1234f;可以用括号转换:short s=(short)f也可以利用C o n v ert方法来转换:string s i;sl=Convert.ToString(a);MessageBox.Show(si);常用C
5、onvert方法有: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 o n
6、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 xp返回e的
7、指定次幕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=3c 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 wi t c h(c o l o r)(c a s e C o l o r.R e d:i i=1 0;b r
8、 e a k;c a s e C o l o r.B l u e:i i=1 1;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 1 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 i=n e w S h a p e();i=s l.F i l
9、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 l r a c l e v e n tn e ws t r u c ta se xp l i c i t n u l ls wi t c hb a s ee xt 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 wb r e a kf i
10、 n a l l yo u tt r u eb yt ef i xe 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 ep 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 r e fu s h o r
11、tc o n t i n u e i nr e t u r nu s i n gd e c i m a li n ts 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 ls h o r tv o i dd oi ss i ze o fwh 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 p a c e s t r
12、i n g数组定义数组是一种排列有序的数据结构,包含于数组中的变量被称为数组的元素,它们都有相同的类型。数组声明i n t a r r a y1 =n e w i n t 5;i n t ,a r r a y3 =n e w i n t 1 0,2 0,3 0;i n t a r r a y 1 =n e w i n t 1,2,4;数组引用a r r a y1;注意,如果定义数组为i n t 5,则 从 0 4。数组长度l i n e O.G e t L e n g t h(l)数组赋值可以从一个已经赋值的数组array2向未赋值的同等数组arrayl赋值,用array l=array2;这
13、时,arrayl就变成和array2 一样的数组了。集合集合的使用集合可以看成是可以随意添加的数组,因此凡是在使用数组的场合,都可以使用集合。而且集合的元素可以是任意对象,操作也比数组灵活的多。使用集合时,必须注意集合的生命期问题。如果有两个集合L 1和 L 2,使用L1=L2;后,只 要 L 2 生命期没有终结,它的以后的变化就可能会影响到L 1 的数值。因此在赋值后应该及时销毁或者初始化L 2,以免发生不可预见的错误。比较使 用 Contains方法。ArrayList Array l=new AirayListO;Array l.Add(nasn);bool bl=Arrayl.Cont
14、ains(”as);MessageBox.Show(b l.ToStringO);找到集合中数量最多的一个元素利用方法来查找,可以返回两个变量。object J maxO(A r r ayL ist vll,r ef int jj)int i;object j0=0;A r r ayL ist yll=new A r r ayL ist 0 ;/各个不同的元素的集合int y 1 2=new int vl 1.C ount;/记录各个元素数量的数组int xmax=0;最大的一个元素的数量for (i=0;i vll.C ount;i+)(j0=(object)vl1 i;if(yll.C o
15、ntains(jO)(yl2 yll.I ndexO f(jO)+;)else(yll.A dd(jO);yl2 yl1.C ount-1=1;)xmax=yl2 0;j0=(object)yll 0;for (i=l;i xmax)(xmax=yl2 i;jO=(object)ylli;)jj=xmax;r etur n J O;pr ivate void buttonl_C lick(object sender,System.E ventA r gs e)(A r r ayL ist A r r ayl=new A r r ayL ist();int jj=O;double jO=0;ob
16、ject jl=0;j0=2.3;A r r ay 1.A dd(jO);j0=2.3;A r r ay 1.A dd(jO);jO=l.O O O f;A r r ay 1.A dd(jO);j0=2.3;A r r ay 1.A dd(J O);jO=l;A r r ay 1.A dd(jO);jl=J maxO(A r r ay1,r ef jj);M essageB ox.Show(jl.ToStr ingO +jj.ToStr ingO);)运算符和判断判断if(x 10)if(y20)Console.Write(,Statement_r,);elseConsole.Write(St
17、atement_2n);关系运算符,=等于:=不等于:!=判断字符串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)。循环无条件循环int sum,x;sum=0;fo
18、r(x=l;x=1 0 0;x+)(sum+=x;有条件循环pr ivate void buttonl_C lick(object sender,System.E ventA r gs e)(int sum=0;int x=0;while(sum 1 0 0)&(x 2 0)(x+;sum+=x;str ing s2=C onver t.ToStr ing(x);M essageB ox.Show(s2);)运行显示14o如果改为while(sum 1 0 0)|(x 2 0)运行显示20o多重选择switch(i)(case 0:CaseZero();break;case 1:CaseOne
19、();break;default:CaseOthers();break;)每个case后面,必须有break或者g o to,不允许贯穿。Gotogoto语句将程序控制直接传递给标记语句。for(int i=0;i x;i+)for(int j=0;j OKCancel RetryCancel YesNo、YesNoCancelo获取返回信息p r i v a t e v o i d b u t t o n 2 _ C l i c k(o b j e c t s e n d e r,S y s t e m.E v e n t A r g s e)(D i a l o g R e s u I t
20、 r e s u l t;r e s u l t =M e s s a g e B o x.S h o w(n a m e ,N a m e E n t r y”,M e s s a g e B o x B u t t o n s.Y e s No,Me s s a g e B o x Ic o n.Qu e s ti o n);Me s s a g e B o x.Sh o w (r e s u l t.To Str i n g O);)如果要参与判断,则用s tr i n g l s=r e s u l t.To Str i n g O;完全使用方法本例检查textBoxl中输入文本没有,
21、如果没有就提示,并可以获取返回信息。p r i v a te v o i d b u tto n l _ C l i c k(o b j e c t s e n d e r,Sy s te m.Ev e n tA r g s e)(i f(te x tB o 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.C a 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
22、 e r Na m e Sp e c i f i e d”;Me s s a g e B o x B u tto n s b u tto n s =Me s s a g e B o x B u tto n s.Ye s No;D i 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 B o 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 B o x Ic o n.Qu e s ti o n,Me s s a g e B o x D e f a u
23、 l tB u tto n.B u tto n l,Me s s a g e B o x Op ti o n s.Ri g h tA l i g n);i f (r e s u l t=D i a l o g Re s u l t.Ye s)th i s.C l o s e ();文本框基本功能文本框主要是用来输入和显示文字的。添 加,个TextBox,系统自己产生名字textBoxl,程序如下:p r i v a te v o i d b u tto n l _ C l i c k(o b j e c t s e n d e r,Sy s te m.Ev e n tA r g s e)(Me
24、 s s a g e B o x.Sh o w(te x tB o x l.Te x t);运行时,就可以在消息框中显示文本框输入的字符串。TextBox 一般显示单行,如果把属性Multiline改为Ture,还可以显示多行数字。输入数字输入数字需要转换:i n t a;s tr i n g s i;a=C o n v e r t.To In tl 6(te x tB o x l.Te x t);a=a+5;s l=C o n v e r t.To Str i n g(a);Me s s a g e B o x.Sh o w(s i);初始化文本框的初始化就是向文本框赋初始值。可以从事件过程
25、里写入,也可以在IDE的右边属性栏里输入,但是推荐采用在Form初始化时写入。p u b l i c Fo r m l ()(In i ti a l i z e C o m p o n e n t 0;/TOD O:在 In i l i a l i z e C o m p o n e n l 调用后添加任何构造函数代码te x tB o x l.Te x t=”;)窗体调用简单调用上面的例子都是在个窗体中,实际程序需要儿十甚至上百个窗体。以下例子创建两个窗体,然后实现相互调用。在Forml中添加两个Button,一个标题为调用,一个标题为退出。使 用【项目】/【添加窗体工添加一个窗体,缺省名称
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 基础知识
限制150内