ASPNET中测试C#代码.ppt

上传人:za****8 文档编号:13189146 上传时间:2020-06-06 格式:PPT 页数:39 大小:449.51KB
返回 下载 相关 举报
ASPNET中测试C#代码.ppt_第1页
第1页 / 共39页
ASPNET中测试C#代码.ppt_第2页
第2页 / 共39页
ASPNET中测试C#代码.ppt_第3页
第3页 / 共39页
点击查看更多>>
资源描述
在ASPNET中测试C#代码,单纯在C#中建立控制台项目或者建立windows应用程序项目和在中使用C#是有一些区别的。一般在中我们测试C#程序,我们在页面的C#代码中的protectedvoidPage_Load(objectsender,EventArgse)函数体里面测试代码。,程序输出结果显示,可以使用Response.Write方法,也可以使用标签控件在页面显示输出。,stringstr1=你好!;stringstr2=欢迎光临;stringstr3=str1+str2;Response.Write(str3);Label1.Text=str3;intn=12345;Label2.Text=n.ToString();程序运行前加二个label控件,标签显示示例,数据类型转换安全问题,数组例子,stringth=aa,bb,cc;Label1.Text=th0.ToString();/Label1.Text=th0;/给一个数组加一个前缀,笨办法th0=xxx+th0;th1=xxx+th1;th2=xxx+th2;/应用计算机特有处理方式,循环for(inti=0;i+thi);,枚举结构例子,publicstructbookpublicintprice;publicstringtitle;publicstringauthor;publicintok;/申明枚举类型enumema=0,b=1,c=2enumeeabc,trr,jkl;/枚举自动从0开始,程序运行前加四个label控件,枚举结构例子(续),protectedvoidPage_Load(objectsender,EventArgse)bookbok=newbook();/申明实例bok.title=中国人;bok.price=25;bok.author=著名作家;bok.ok=Convert.ToInt32(ee.trr);/找到索引号/赋值Label1.Text=第一行标题是:+bok.title;Label2.Text=第二行pirce是:+bok.price;Label3.Text=第三行作者是:+bok.author;if(bok.ok=1)Label4.Text=ok;elseLabel4.Text=cancel;,分支结构,Try.catch.将使用中可能出错的代码放在try语句下面,试一下意思。然后在catch语句中捕获可能出现的错误并加点补救措施If.else判断分支Switch.case.default.符合某种情况跳转,trystringa=这是一个字符串不能被转换为整数;intb=Convert.ToInt32(a);catch/catch如果不带参数可以捕获任何错误Response.Write(不能将文本转换为整型);,try/除数不能为0intx=0;floaty=123/x;catch(ArithmeticExceptionee)/捕获描述当前异常的消息Response.Write(ee.Message);,If.else.,inta=5;if(a=5)/如果只是一行代码的话,可以不用加大括号Label1.Text=你判断对了;elseLabel1.Text=你搞错了;程序运行前添加一个label控件,switch.case.,每个case语句后要跟一个break;只能针对基本数据类型,如int和string等,对于其他数据类型,必须使用if分支。Case标签是唯一性表达式,不允许有重复Case标签是常量表达式,如4或者“52”,如果需要在运行中计算case标签的值,则必须使用if语句。,switch.case.,intn=6;switch(n)case1:Label2.Text=等于1;break;case2:Label2.Text=等于2;break;case3:Label2.Text=等于3;break;case5:Label2.Text=等于5;break;default:Label2.Text=都不是;break;,For循环语句,stringa=234320948093284093321432;for(inti=0;i);,Dowhile语句循环,intj=6;doResponse.Write(j+);j+;while(j5);,While循环,intn=6;while(n);n+;,foreachin循环,stringstr=newstring1abcd,2sdfd,3asdf,4ddfkj,5hghg,6ghaa,7kj9,8oipo;foreach(stringrinstr)if(r.Contains(a)Response.Write(r.ToString()+);,函数,C#和java一样,不允许有全局函数,所有函数必须在类或结构内实现,函数是类或结构的成员,函数也被称为方法。在构造的时候,函数参数必须申明类型,二个参数之间用逗号分隔。,publicstringfuc(stringa,intc)stringaa=你的名字是:+a;stringbb=你今年已经+c+岁了;stringcc=aa+bb;if(c25,protectedvoidButton1_Click(objectsender,EventArgse)stringa=TextBox1.Text.ToString();intb=Convert.ToInt32(TextBox2.Text);Label3.Text=fuc(a,b);先在界面中拖入二个textbox控件,再拖动一个button控件,三个label控件。界面如下:,类例子,publicclasscarprivatestringcolor;privateintchelun=4;/上面是实例的私有变量,命名一般是小写的英文字母开头,只在对象内部代码可以访问/下面定义类的第一个属性publicstringColor/先定义属性名称,属性名称约定首字母大写/如果只设置get方法,那么该属性只能读,只设置set方法,那么该属性只能写,设置set和get,那么可以读写get/又称为存取器方法,它们在私有成员中提取值和赋值/当用户试图得到本属性值时,就会执行下面括号代码returncolor;set/存取器方法,当用户试图给这个属性赋值,执行下面括号代码color=value;/将参数值先赋给Value,然后value再赋给color私有成员变量,publicintChelungetreturnchelun;publicstringgetinfo(stringa,stringb)stringc=;switch(a)casered:c+=你的车颜色是红色的轮子共有+b+个;break;casegreen:c+=你的车颜色是绿色的轮子共有+b+个;break;caseblue:c+=你的车颜色是蓝色的轮子共有+b+个;break;returnc;,protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)carcar1=newcar();car1.Color=DropDownList1.SelectedValue.ToString();stringa=car1.Color.ToString();stringb=car1.Chelun.ToString();stringc=car1.getinfo(a,b);Response.Write(c);在页面设计界面中,拖入一个dropdownlist控件,设置其三个数据项分别为red,green,blue.并双击控件添加代码,类的构造函数,前面例子讲构造一个类,还有创建该类的对象,这是一个基本的例子,演示类的属性和方法如何定义,在稍微复杂点的系统里面,可能会遇到需要在申明对象时候需要定义对象的属性,这就是构造函数初始化对象。构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始化新对象的数据成员。不带参数的构造函数称为默认构造函数,无论何时,只要使用new运算符实例化对象,并且不为new提供任何参数,就会调用默认的构造函数。构造函数的所有代码都会在创建新对象时执行。,在网站中添加一个book1类,代码如下(红色代码为手动添加):publicclassbook1privatestringtitle;privatestringisbn;privatedoubleprice;publicdoublePricegetreturnprice;setprice=value;,类构造函数例子,publicbook1()title=ASP.NET2.0入门教程;isbn=8-152-33467;publicstringTitleInfogetreturn书名是:+title+ISBN:+isbn+;/是html标记,在动态网页的page_load函数中添加如下代码并运行:book1bk=newbook1();bk.Price=35.60;Response.Write(bk.TitleInfo);Response.Write(价格¥:+bk.Price);观察实验结果,这样做的后果就是:假如我们要添加新书的话,会比较麻烦,因为调用默认的构造函数的话,书名和ISBN编号没办法修改。所以需要重新构造。,改写构造函数,publicbook1(stringnewtitle,stringnewisbn)title=newtitle;isbn=newisbn;在构造函数中加入参数(函数接口),创建类实例代码,book1bk1=newbook1(sql数据库教程,5-456-676776);bk1.Price=28.40;Response.Write(bk1.TitleInfo);Response.Write(价格¥:+bk1.Price);book1bk2=newbook1(ASP.NET入门教程,6-454-45645);bk2.Price=23.80;Response.Write(+bk2.TitleInfo);/是html标记Response.Write(价格¥:+bk2.Price);这样带形参接口的构造函数添加新书就会很方便,类中函数的重载,看了前面书类的构造例子,我们首先调用不带参数构造函数,又改写为带参数构造函数,在类中,其实可以实现这样的重载函数,我们可以实现重载构造函数(类中特殊方法)或者重载类中的方法(函数)。重载,就是定义几个同名字的函数,它们可以带不同的参数,在类实例中可以根据情况进行调用。同名函数便于记忆,如果写不同名字的函数,实现类似的功能的话,不便于编程。,在前面一节的book1类中,加入如下代码:publicstringgettitle()stringit=书名是:+title+isbn;returnit;publicstringgettitle(stringaa,intbb)stringit=书名是:+aa+bb+;returnit;,构造函数使用二个:publicbook1()title=ASP.NET2.0入门教程;isbn=8-152-33467;publicbook1(stringnewtitle,stringnewisbn)title=newtitle;isbn=newisbn;,在页面代码page_load中添加如下测试代码:book1bk1=newbook1();book1bk2=newbook1(sql入门教程,234523453);Response.Write(bk1.gettitle();Response.Write(bk1.gettitle(计算机网络,456546546);Response.Write(bk2.TitleInfo);,运算符重载,比如+运算符,在字符串类操作中,使用+运算符,表明是连接二个字符串操作,这个经常用到。在int类型数据中,使用+运算符表明二个数值进行相加,同样的运算符,不同的操作方式,这个在类中也有定义,即运算符的重载。使用类实例做运算时,能根据数据类型自动做判断,自动执行正确操作。,添加一个符号类fuhao.cs,加入如下代码:privatestringth;privateintage;publicfuhao()/默认空构造函数,自动创建publicfuhao(stringnth,intnage)th=nth;age=nage;publicstringThgetreturnth;publicintAgegetreturnage;,publicstaticbooloperator=(fuhaoa,fuhaob)if(a.th=b.th定义几个运算符,在动态页面page_load函数中输入如下代码:fuhaof1=newfuhao(陈小意,23);fuhaof2=newfuhao(李大鹏,25);Response.Write();Response.Write(f1!=f2);Response.Write();Response.Write(f1=f2);Response.Write();Response.Write(f1+f2);,在上面的测试中,可以将类中重载的几个运算符(这几个运算符是对象运算符,不是简单的运算符)注释掉,再在页面测试刚才的代码,就会发生错误。因为系统自带的普通运算符无法完成对象的想加,对象的相等和不等判断。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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