C#学习资料(内部资料).docx

上传人:文*** 文档编号:68227989 上传时间:2022-12-27 格式:DOCX 页数:91 大小:220.43KB
返回 下载 相关 举报
C#学习资料(内部资料).docx_第1页
第1页 / 共91页
C#学习资料(内部资料).docx_第2页
第2页 / 共91页
点击查看更多>>
资源描述

《C#学习资料(内部资料).docx》由会员分享,可在线阅读,更多相关《C#学习资料(内部资料).docx(91页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C#基础类型和变量类型C#支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如 char、int和float等)、枚举类型和结构类型。引用类型包括类(Class)类 型、接口类型、委托类型和数组类型。变量的类型声明每个变量必须预先声明其类型。如int a;int b = 100;float j = 4. 5;string si;用object可以表示所有的类型。预定义类型下表列出了预定义类型,并说明如何使用。类型说明示例范围object所有其他类型的最终 基类型object = null;string字符串类型;字符串是Unicode字符序列string s : hello”;sby

2、te8位有符号整型sbyte val = 12;-128 到 127short16位有符号整型short val = 12;-32,768 到 32,767int32位有符号整型int val = 12;-2,147,483,648到2,147,483,647long64位有符号整型long vail = 12;-9,223,372,036,854,775,808long val2 = 34L;到9,223,372,036,854,775,807byte8位无符号整型byte vail = 12;0至255ushort16位无符号整型ushort val1 = 12;0 到 65,535uin

3、t32位无符号整型uint vail = 12;uint val2 = 34U;0 至(! 4,294,967,295ulong64位无符号整型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到3.4 x io38double双精度浮点型double val1 = 1. 23;double val2 =4. 56D;15-165.0 x 10-324至U1.7 X

4、10308bool布尔型;boo!值或为 真或为假bool val1 = true;bool val2 = false;char字符类型;char值是 个Unicode字符char val =h;decimal精确的小数类型,具有 28个有效数字decimal val =1.23M; 28-291.0 X 10-2S至U7.9 x 1028DateTime变量转换简单转换:float f = 100. 1234f;可以用括号转换:short s = (short)f也可以利用Convert方法来转换:string si;sl=Convert. ToString(a);MessageBox. S

5、how(sl);常用Convert方法有:C#备注Convert. ToBooleanConvert.rFoByteConvert. ToCharConvert. ToDateTimeConvert. ToDecimalConvert. ToDoubleConvert. Tolntl6Convert. Tolnt32Convert. Tolnt64Convert. ToSByteConvert. ToSingleConvert. ToStringConvert. ToUIntl6Convert. ToUInt32Convert. ToUInt64Math 类常用科学计算方法:at备注Math.

6、 Abs绝对值Math. Sqrt升一方Math. Round取整,四舍五入Math. Floor取整,放弃小数Math. Cos余弦Math. Sin正弦Math. Tan正切Math. Exp返回e的指定次事Math. Log内数Math. Pow(x, y)数字”的y次竊Math. Max (x, y)返回较大者Math. Min(x, y)返回较小者枚举型一般为字符串,可以定义带数字的枚举型,示例为:enum Color(Red=l,Blue=2,Green=3)class Shape(public int Fill(Color color)(int ii;switch(color)

7、(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 sl=new Shape ();i=sl. Fill (Color)2);/i=sl. Fill(Color. Blue);MessageBox. Show(i. ToStringO);Enum需要放在clas

8、s外面,才能被其它class的程序调用。C#关键字abstracteventnewstructasexplicitnullswitchbaseexternob jectthisboolfalseoperatorthrowbreakfinallyouttruebytefixedoverridetrycasefloatparamstypeofcatchforprivateuintcharforeachprotectedulongcheckedgotopublicuncheckedclassifreadonlyunsafeconstimplicitrefushortcontinueinreturnu

9、singdecimalintsbytevirtualdefaultinterfacesealedvolatiledelegateinternalshortvoiddoissizeofwhiledoublelockstackallocelselongstaticenumnamespacestring数组定义数组是种排列有序的数据结构,包含于数组中的变量被称为数组的元素, 它们都有相同的类型。数组声明int array1 = new int5;int , J array3 = new int 10, 20, 30;int array 1 = new int 1, 2, 4;数组引用arraylO=

10、*ar;注意,如果定义数组为int5,则从4。数组长度lineO. GetLength(l)数组赋值可以从个已经赋值的数组array2向未赋值的同等数组arrayl赋值,用 array l=array2;这时,array 1就变成和array2 样的数组了。隹厶果口集合的使用集合可以看成是可以随意添加的数组,因此凡是在使用数组的场合,都可以 使用集合。而且集合的元素可以是任意对象,操作也比数组灵活的多。使用集合时,必须注意集合的生命期问题。如果有两个集合L1和L2,使用 TL1=L2;后,只要L2生命期没有终结,它的以后的变化就可能会影响到L1的数值。因 此在赋值后应该及时销毁或者初始化L2,

11、以免发生不可预见的错误。比较使用Contains方法。ArrayList Array l=new ArrayList();Array l.Add(nasH);bool bl=Arrayl.Contains。as);MessageBox.Show(b LToStringQ);找到集合中数量最多的个元素利用方法来查找,可以返回两个变量。object JmaxO(ArrayList vll, ref int jj) (int i;object j0=0;ArrayList yll=new ArrayList ()J 各个不同的元素的集合 int yl2=new int vl 1. Count ; /

12、记录各个元素数量的数组 int xmax=0J 最大的个元素的数量for (i=0;ivll. Count;i+) jO=(object)vlli;if (yl 1. Contains(jO) (yl2yll. IndexOf(j0)+;) else yll. Add(jO);yl2yll. Count-1=1;xmax=yl20;jO=(object)yll0;for (i=l;ixmax)xmax=yl2i;j0=(object)ylli;)jj=xmax;return jO;)private void buttonl_Click(object sender, System. EventA

13、rgs e) (ArrayList Arrayl=new ArrayList();int jj=O;double j0=0;object jl=0;j0=2.3;Array 1. Add(jO);j0=2.3;Array 1. Add(jO);jO=l.OOOf;Array 1. Add(jO);j0=2.3;Array 1. Add(jO);jO=l;Array 1. Add(jO);jl=JmaxO(Array 1, ref jj);MessageBox. Show(jl. ToString()+* *+jj. ToStringO);)运算符和判断判断if(x 10)if(y20)Cons

14、ole. Write(nStatement_r,);elseConsole. Write(nStatement_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

15、% 2.0); / =-1.2经常用模数运算符来判断整数为奇数(=1)或偶数(=0)o循环无条件循环int sum, x;sum;for(x=l;x=100;x+)(sum+=x;有条件循环private void button1 Click(object sender, System. EventArgs e) (int sum=0;int x=0;while (sum100) & (x20) (x+;sum+二x;string s2=Convert. ToString(x);MessageBox. Show(s2);)运行显示14。如果改为while (sum100) | (x20)运行显

16、示20。多重选择switch (i)(case 0:CaseZero();break;case 1:CaseOne();break;default:CaseOthers();break;)每个case后面,必须有break或者goto,不允许贯穿。Gotogoto语句将程序控制直接传递给标记语句。for (int i = 0; i x; i+)for(intj = O;j OKCancel RetryCancel YesNo YesNoCancelo获取返回信息private void button2_Click(object sender, System. EventArgs e) Dial

17、ogResult result;result = MessageBox. Show(name , Name Entry, MessageBoxButtons. YesNo, MessageBoxIcon. Quest ion);MessageBox. Show (result.,PoStringO);)如果要参与判断,则用string ls=result. ToStringO ;完全使用方法本例检查textBoxl中输入文本没有,如果没有就提示,并可以获取返回信 息。private void button1_Click(object sender, System. EventArgs e) (

18、 if(textBoxl. Text. Length = 0) ( string message =You did not enter a server name. Cancel this operation?; string caption = No Server Name Specified;MessageBoxButtons buttons = MessageBoxButtons. YesNo;DialogResult result;result = MessageBox. Show(this, message, caption, buttons, MessageBoxIcon. Que

19、stion, MessageBoxDefau1tButton. Button 1, MessageBoxOptions. RightAlign);if(result = DialogResult. Yes)this. Close();文本框基本功能文本框主要是用来输入和显示文字的。添加一个TextBox,系统自己产生名字textBoxl,程序如下:private void buttonl_Click(object sender, System. EventArgs e) MessageBox. Show(textBoxl. Text);)运行时,就可以在消息框中显示文本框输入的字符串。Text

20、Box 一般显示单行,如果把属性Multiline改为Ture,还可以显示多行数 字。输入数字输入数字需要转换:int a;string si;a=Convert. ToIntl6(textBoxl. Text);a=a+5;sl=Convert. ToString(a);MessageBox. Show(si);初始化文本框的初始化就是向文本框赋初始值。可以从事件过程里写入,也可以在 IDE的右边属性栏里输入,但是推荐采用在Form初始化时写入。public Forml()(InitializeComponent();/ TODO:在InilializeComponenl调用后添加任何构造函

21、数代码 textBoxl. Text=;,1窗体调用简单调用上面的例子都是在一个窗体中,实际程序需要儿十甚至上百个窗体。以下例 子创建两个窗体,然后实现相互调用。在Forml中添加两个Button,一个标题为调用,个标题为退出。使用【项目】/【添加窗体】,添加一个窗体,缺省名称为Form2。添加一个 Button.标题为返回。窗体1程序为:private void buttonl_Click(object sender, System. EventArgs e)(Form2 Nform2=new Form2();Nform2. Show();this. HideO;private void b

22、utton2 Click(object sender, System. EventArgs e)(Appl ication. Exit ();)窗体2程序为:private void button1 Click(object sender, System. EventArgs e)(Forml Nforml=new Forml();Nforml. Show();this. HideO ;运行程序,可以在两个窗体之间来回调用,按“退出”就可以退出程序。程序运行时,如果发现窗体位置不固定,这时需要在窗体的StartPosition属 性上设置窗体固定位置,一般为屏幕中央。注意,两个窗体要在个命名空

23、间,否则要引用。传递参数调用在Forml中添加个Button !和一个textBoxl程序为:private Form2 otherForm=new Form2();private void GetOtherFormTextBox() (textBoxl. Text = otherForm. TextBoxl. Text;)private void button1 Click(object sender, System. EventArgs e)(GetOtherFormTextBox();)在Form2中添加一个textBoxl,在InitializeComponent();后面添加个赋值语

24、句为:textBoxl. Text=*abd*;然后添加一个属性:public TextBox TextBoxl(getreturn textBoxl;)运行时,点击Forml中的Button 1,可以把Form2的TextBox的数值取到Form! 的 TextBox 中来复杂传递参数本例是移动个标签,在两个Form之间来回移动。先设计Form!如下:设计Form2,除了少了一个退出按钮外,其余相同。在Form!的InitializeComponent。下面加上窗体定位语句:Point tempPoint = new Point(100, 100);this.DesktopLocation

25、= tempPoint;然后把Forml的StartPosition属性改为Manua!其余程序为:public Label L2(get(return label1;set(labell=value;)private void button2_Click(object sender, System. EventArgs e)Form2 otherForm=new Form2();label 1. Left=label 1. Left+10;if (labell. Left=this. Width-10)otherForm. Show ();otherForm. LI. Top=label1.

26、 Top; this. HideO ;)private void buttonl_Click(object sender, System. EventArgs e) (labell. Left=labell. Left-10;)private void button3_Click(object sender, System. EventArgs e) (label I. Top=label1. Top-10;)private void button4_Click(object sender, System. EventArgs e) (labell. Top=labell. Top+10;)p

27、rivate void button5_Click(object sender, System. EventArgs e) App 1 i cat i on. Exi t ();)同样在Form2的InitializeComponent()下面加上窗体定位语句:Point tempPoint = new Point(300, 100);this. DesktopLocation = tempPoint;然后把Form2的StartPosition属性改为Manual其余程序为: public Label LI (get return labell; setlabell=value; priva

28、te void button2_Click(object sender, System. EventArgs e) (label 1. Left=label 1. Left+10;private void buttonl_Click(object sender, System. EventArgs e) (Forml otherForml=new Forml();label 1. Left=label1. Left-10;if (labell.Left=-10) (otherForml. Show();otherForml. L2. Top=label1. Top;otherForml. L2

29、. Left=otherForml. Width-20;this. HideO ;)private void button3_Click(object sender, System. EventArgs e) (label 1. Top=label1. Top-10;)private void button4_Click(object sender, System. EventArgs e) (label 1. Top=labell. Top+10;)动态产生窗体public void CreateMyFormO(Form forml = new FormO ;Label label 1 =

30、new Label();Button buttonl = new Button ();TextBox textl = new TextBox();buttonl. Text =确定”;buttonl. Location = new Point (110, 220);label 1. Location = new Point (50,100);textl. Location = new Point (150, 100);forml. Text =请输入;label 1. Text =数据;forml. FormBorderStyle = FormBorderStyle. FixedDialog;

31、forml. ControlBox = false;forml. Cancel Button = button1;forml. StartPosition = FormStartPosition. CenterScreen;forml. Controls. Add(buttonl);forml. Controls. Add(text 1);forml. Controls. Add(label 1);forml. ShowDialogO ;ls=text1. Text;)private void button2_Click(object sender, System. EventArgs e)(

32、CreateMyFormO ;MessageBox. Show(1s);)ToolBar普通使用在窗体上加上ToolBar界面修改后的问题在界面上修改后,最后要加上:tool Bari. Buttons. Add(too1BarButton1);toolBarl. Buttons. Add(toolBarButton2);tool Bari. Buttons. Add(too1BarButton3);/ Add the event-handler delegate.toolBarl. ButtonClick += new ToolBarButtonClickEventHandler(this.

33、 toolBarl ButtonClick);或者把原有的程序 this. toolBarl. Buttons. AddRange(new System. Windows. Forms. ToolBarButton this. toolBarButtonl, this. toolBarButton2, this. toolBarButton3);改变位置,至toolBarl设置的最下面。全部设置程序为:this. toolBarl. DropDownArrows = true;this. toolBarl. Location = new System. Drawing. Point(0, 0)

34、;this.toolBarl. Name = toolBarl;this.toolBarl. ShowToolTips = true;this. toolBarl. Size = new System. Drawing. Size(592, 42);this.toolBarl. Tabindex = 0;toolBarl. ButtonSize = new System. Drawing. Size(60, 50);/ toolBarButtonl/this. toolBarButtonl. Text 二Open;toolBarButtonl. Style = System. Windows. Forms. ToolBarButtonSt

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com