NET软件工程师笔试题汇总(1)6176.docx
1.面向对象的思想主要包括什么? 奇乐滋 文库含有大量你喜欢的资料,赶快来看看那吧答:任何事物都可以理解为对象,其主要特征: 继承。封装。多态。特点:代码好维护,安全,隐藏信息2.什么是ASSP.nett中的用户控控件答:扩展名为*.ascxx,跟*.aaspx在结结构上相似,是是指页面中加加载的功能块块,只是用户户控件不能单单独作为页面面运行,必须须嵌入到*.aspx页页面或其它用用户控件中使使用。3.什么叫应用用程序域?什什么是受管制制的代码?什什么是强类型型系统?什么么是装箱和拆拆箱?什么是是重载?CTTS、CLSS和CLR分分别作何解释释?答:应用程序域域为安全性、可可靠性、版本本控制以及卸卸载程序集提提供了隔离边边界。应用程程序域通常由由运行库宿主主创建,运行行库宿主负责责在运行应用用程序之前引引导公共语言言运行库。应应用程序域提提供了一个更更安全、用途途更广的处理理单元,公共共语言运行库库可使用该单单元提供应用用程序之间的的隔离。托管代码为使用用基于公共语语言运行库的的语言编译器器开发的代码码称为托管代代码;托管代代码具有许多多优点,例如如:跨语言集集成、跨语言言异常处理、增增强的安全性性、版本控制制和部署支持持、简化的组组件交互模型型、调试和分分析服务等。装箱和拆箱使值值类型能够被被视为对象。对对值类型装箱箱将把该值类类型打包到 Objecct 引用类类型的一个实实例中。这使使得值类型可可以存储于垃垃圾回收堆中中。拆箱将从从对象中提取取值类型。重载:每个类型型成员都有一一个唯一的签签名。方法签签名由方法名名称和一个参参数列表(方方法的参数的的顺序和类型型)组成。只只要签名不同同,就可以在在一种类型内内定义具有相相同名称的多多种方法。当当定义两种或或多种具有相相同名称的方方法时,就称称作重载。CTS通用类型型系统 (ccommonn typee systtem):一一种确定公共共语言运行库库如何定义、使使用和管理类类型的规范。CLR公共语言言运行库:.NET FFramewwork 提提供了一个称称为公共语言言运行库的运运行时环境,它它运行代码并并提供使开发发过程更轻松松的服务。CLS公共语言言规范:要和和其他对象完完全交互,而而不管这些对对象是以何种种语言实现的的,对象必须须只向调用方方公开那些它它们必须与之之互用的所有有语言的通用用功能。为此此定义了公共共语言规范 (CLS),它是许多多应用程序所所需的一套基基本语言功能能。强类型:C# 是强类型语语言;因此每每个变量和对对象都必须具具有声明类型型。4.列举一下你你所了解的XXML技术及及其应用答:保存配置,站与站之间间的交流,WWEB SEERVICEE。以及与数数据库的数据据交互等地方方都要用它.5.值类型和引引用类型的区区别?答:基于值类型型的变量直接接包含值。将将一个值类型型变量赋给另另一个值类型型变量时,将将复制包含的的值。这与引引用类型变量量的赋值不同同,引用类型型变量的赋值值只复制对对对象的引用,而而不复制对象象本身。所有的值类型均均隐式派生自自 Systtem.VaalueTyype。与引用类型不同同,从值类型型不可能派生生出新的类型型。但与引用用类型相同的的是,结构也也可以实现接接口。与引用类型不同同,值类型不不可能包含 null 值。然而,可可空类型功能能允许将 nnull 赋赋给值类型。每种值类型均有有一个隐式的的默认构造函函数来初始化化该类型的默默认值。值类型主要由两两类组成:结结构、枚举结构分为以下几几类:Nummeric(数数值)类型、整整型、浮点型型、deciimal、bbool、用用户定义的结结构。引用类型的变量量又称为对象象,可存储对对实际数据的的引用。声明明引用类型的的关键字:cclass、iinterfface、ddelegaate、内置置引用类型: objeect、sttrin6.ADO.nnet中常用用的对象有哪哪些?分别描描述一下。答:Connecttion 打打开数据库连连接Commandd 执行数据据库命令DataAdaapter 连接数据,执执行数据库命命令,填充DDataSeetDataSett 数据在内内存中的缓存存,数据结构构DataReaader 只只读向前的读读取数据库7.如何理解委委托?答:相当于函数指针针,定义了委委托就可以在在不调用原方方法名称的情情况下调用那那个方法.委托具有以下特特点:委托类似于 CC+ 函数数指针,但它它是类型安全全的。委托允许将方法法作为参数进进行传递。委托可用于定义义回调方法。委托可以链接在在一起;例如如,可以对一一个事件调用用多个方法。方法不需要与委委托签名精确确匹配。有关关更多信息,请请参见协变和和逆变。C# 2.0 版引入了匿匿名方法的概概念,此类方方法允许将代代码块作为参参数传递,以以代替单独定定义的方法。8.C#中的接接口和类有什什么异同。 答:异:不能直直接实例化接接口。接口不不包含方法的的实现。接口口、类和结构构可从多个接接口继承。但但是C# 只只支持单继承承:类只能从从一个基类继继承实现。类类定义可在不不同的源文件件之间进行拆拆分。同:接口、类和和结构可从多多个接口继承承。接口类似似于抽象基类类:继承接口口的任何非抽抽象类型都必必须实现接口口的所有成员员。接口可以以包含事件、索索引器、方法法和属性。一一个类可以实实现多个接口口。9.UDP连接接和TCP连连接的异同。答:前者只管传传,不管数据据到不到,无无须建立连接接.后者保证证传输的数据据准确,须要要连结.10.ASP的身身份验证方式式有哪些?分分别是什么原原理?答:Windoows 身份份验证提供程程序:提供有有关如何将 Windoows 身份份验证与 MMicrossoft IInternnet 信息息服务 (IIIS) 身身份验证结合合使用来确保保 ASP.NET 应应用程序安全全的信息。Forms 身身份验证提供供程序:提供供有关如何使使用您自己的的代码创建应应用程序特定定的登录窗体体并执行身份份验证的信息息。使用 FForms 身份验证的的一种简便方方法是使用 ASP.NNET 成员员资格和 AASP.NEET 登录控控件,它们一一起提供了一一种只需少量量或无需代码码就可以收集集、验证和管管理用户凭据据的方法。Passporrt 身份验验证提供程序序:提供有关关由 Miccrosofft 提供的的集中身份验验证服务的信信息,该服务务为成员站点点提供单一登登录和核心配配置11.进程和线线程分别怎么么理解?答:进程和线程程都是由操作作系统所体会会的程序运行行的基本单元元,系统利用用该基本单元元实现系统对对应用的并发发性。进程和和线程的区别别在于:简而言之,一个个程序至少有有一个进程,一个进程至至少有一个线线程.线程的划分尺度度小于进程,使使得多线程程程序的并发性性高。另外,进程在执执行过程中拥拥有独立的内内存单元,而而多个线程共共享内存,从从而极大地提提高了程序的的运行效率。线程在执行过程程中与进程还还是有区别的的。每个独立立的线程有一一个程序运行行的入口、顺顺序执行序列列和程序的出出口。但是线线程不能够独独立执行,必必须依存在应应用程序中,由由应用程序提提供多个线程程执行控制。从逻辑角度来看看,多线程的的意义在于一一个应用程序序中,有多个个执行部分可可以同时执行行。但操作系系统并没有将将多个线程看看做多个独立立的应用,来来实现进程的的调度和管理理以及资源分分配。这就是是进程和线程程的重要区别别。进程是具有一定定独立功能的的程序关于某某个数据集合合上的一次运运行活动,进进程是系统进进行资源分配配和调度的一一个独立单位位.线程是进程的一一个实体,是是CPU调度度和分派的基基本单位,它它是比进程更更小的能独立立运行的基本本单位.线程程自己基本上上不拥有系统统资源,只拥拥有一点在运运行中必不可可少的资源(如程序计数数器,一组寄寄存器和栈),但是它可可与同属一个个进程的其他他的线程共享享进程所拥有有的全部资源源.一个线程可以创创建和撤销另另一个线程;同一个进程程中的多个线线程之间可以以并发执行.12.什么是ccode-BBehindd技术。答:代码分离,这是个明智智的东西,像像ASP这样样混成一堆很很不爽.或者者可以理解成成HTML代代码写在前台台,C#代码码写在后台.当然前台也也有脚本,类类的调用等,其实写在一一起也是可以以的.13.解释一下下UDDI、WWSDL的意意义及其作用用。答:UDDI:统一一描述、发现现和集成协议议(UDDII, Uniiversaal Desscripttion, Discoovery and IIntegrrationn)是一套基基于Web的的、分布式的的、为Webb服务提供的的信息注册中中心的实现标标准规范,同同时也包含一一组使企业能能将自身提供供的Web服服务注册以使使得别的企业业能够发现的的访问协议的的实现标准。UUDDI 提提供了一组基基于标准的规规范用于描述述和发现服务务,还提供了了一组基于因因特网的实现现。WSDL:WSSDL描述WWeb服务的的公共接口。这这是一个基于于XML的关关于如何与WWeb服务通通讯和使用的的服务描述;14.什么是SSOAP,有有哪些应用。答:SOAP(SSimplee Objeect Acccess Protoocol )简简单对象访问问协议是在分分散或分布式式的环境中交交换信息并执执行远程过程程调用的协议议,是一个基基于XML的的协议。使用用SOAP,不不用考虑任何何特定的传输输协议(最常常用的还是HHTTP协议议),可以允允许任何类型型的对象或代代码,在任何何平台上,以以任何一直语语言相互通信信。SOAP 是一一种轻量级协协议,用于在在分散型、分分布式环境中中交换结构化化信息。 SSOAP 利利用 XMLL 技术定义义一种可扩展展的消息处理理框架,它提提供了一种可可通过多种底底层协议进行行交换的消息息结构。这种种框架的设计计思想是要独独立于任何一一种特定的编编程模型和其其他特定实现现的语义。SOAP 定义义了一种方法法以便将 XXML 消息息从 A 点点传送到 BB 点。为此此,它提供了了一种基于 XML 且且具有以下特特性的消息处处理框架:11) 可扩展展,2) 可可通过多种底底层网络协议议使用,3) 独立于编编程模型。15.如何理解解.net中中的垃圾回收收机制。答:.NET Frameework 的垃圾回收收器管理应用用程序的内存存分配和释放放。每次您使使用 neww 运算符创创建对象时,运运行库都从托托管堆为该对对象分配内存存。只要托管管堆中有地址址空间可用,运运行库就会继继续为新对象象分配空间。但但是,内存不不是无限大的的。最终,垃垃圾回收器必必须执行回收收以释放一些些内存。垃圾圾回收器优化化引擎根据正正在进行的分分配情况确定定执行回收的的最佳时间。当当垃圾回收器器执行回收时时,它检查托托管堆中不再再被应用程序序使用的对象象并执行必要要的操作来回回收它们占用用的内存。16.常用的调调用websservicce方法有哪哪些?答:SOAP和和WSDL17. 写出一一条Sql语语句: 取出出表A中第331到第400记录(SQQLServver, 以以自动增长的的ID作为主主键, 注意意:ID可能能不是连续的的。)解1: sellect ttop 100 * frrom A wheree id nnot inn (sellect ttop 300 id ffrom AA)解2: sellect ttop 100 * frrom A wheree id >> (sellect mmax(idd) froom (seelect top 330 id from A )ass A)18.列举ASSP.NETT 页面之间间传递值的几几种方式。答:1.使用QQuerySStringg, 如.?idd=1; rresponnse.Reedirecct(). 2.使用Sesssion变变量 3.使使用Servver.Trransfeer 4.使使用Appllicatiion变量 5.使用CCookiee 6. 写写出程序的输输出结果19. 写出程程序的输出结结果class CClass11privatee striing sttr = ""Classs1.strr"privatee int i = 00;static void StrinngConvvert(sstringg str)str = ""strinng beiing coonvertted."static void StrinngConvvert(CClass11 c)c.str = "strring bbeing conveerted."static void Add(iint i)i+;static void AddWiithReff(ref int ii)i+;static void Main()int i1 = 10;int i2 = 20;string str = "strr"Class1 c = nnew Cllass1();Add(i1);AddWithhRef(rref i22);Add(c.ii);StringCConverrt(strr);StringCConverrt(c);Consolee.WritteLinee(i1);Consolee.WritteLinee(i2);Consolee.WritteLinee(c.i);Consolee.WritteLinee(str);Consolee.WritteLinee(c.sttr);答案(考查值引引用和对象引引用): 110 21 0 strr striing beeing cconverrted.20.写出程序序的输出结果果public abstrract cclass Apublic A()Consolee.WritteLinee('A');public virtuual vooid Fuun()Consolee.WritteLinee("A.FFun()"");public classs B: AApublic B()Consolee.WritteLinee('B');public new vvoid FFun()Consolee.WritteLinee("B.FFun()"");public statiic voiid Maiin()A a = nnew B();a.Fun();答案(考查在继继承类中构造造函数, 以以及new 方法):AA B A.Fun()21. 写出程程序的输出结结果:public classs Apublic virtuual vooid Fuun1(innt i)Consolee.WritteLinee(i);public void Fun2(A a)a.Fun1(1);Fun1(5);public classs B : Apublic overrride vvoid FFun1(iint i)base.Fuun1 (ii + 1);public statiic voiid Maiin()B b = nnew B();A a = nnew A();a.Fun2(b);b.Fun2(a);答案:2 5 1 622. 一列数数的规则如下下: 1、11、2、3、55、8、133、21、334.求第330位数是多多少,用递归归算法实现。(C#语言)答案:public classs MainnClassspublic statiic voiid Maiin()Consolee.WritteLinee(Foo(30);public statiic intt Foo(int ii)if (i <<= 0)return 0;else iff(i > 0 && i <= 2)return 1;else reeturn Foo(ii -1) + Fooo(i - 2);23. 程序设设计: 猫大大叫一声,所所有的老鼠都都开始逃跑,主主人被惊醒。(C#语言)要求: 1.要要有联动性,老老鼠和主人的的行为是被动动的。2.考考虑可扩展性性,猫的叫声声可能引起其其他联动效应应。要点:1. 联联动效果,运运行代码只要要执行Catt.Cryeed()方法法。2. 对对老鼠和主人人进行抽象评分标准: <<1>.构造造出Cat、MMouse、MMasterr三个类,并并能使程序运运行(2分)<2>从Mouuse和Maaster中中提取抽象(55分)<3>联动效应应,只要执行行Cat.CCryed()就可以使使老鼠逃跑,主主人惊醒。(3分)答案:public interrface Obserrvervoid Reesponsse(); /观察者者的响应,如如是老鼠见到到猫的反映public interrface Subjeectvoid AiimAt(OObservver obbs); /针对哪些些观察者,这这里指猫的要要扑捉的对象象-老鼠鼠public classs Mousse : OObservverprivatee striing naame;public Mousee(striing naame, SSubjecct subbj)this.naame = name;subj.AiimAt(tthis);public void Respoonse()Consolee.WritteLinee(namee + " attemmpt too escaape!");public classs Mastter : Obserrverpublic Masteer(Subbject subj)subj.AiimAt(tthis);public void Respoonse()Consolee.WritteLinee("Hosst wakken!");public classs Cat : Subbjectprivatee ArraayListt obseerverss;public Cat()this.obbserveers = new AArrayLList();public void AimAtt(Obseerver obs)this.obbserveers.Addd(obss);public void Cry()Consolee.WritteLinee("Catt cryeed!");foreachh (Obsserverr obs in thhis.obbserveers)obs.Ressponsee();class MMainCllassstatic void Main(sstringg arrgs)Cat catt = neew Catt();Mouse mmouse11 = neew Mouuse("mmouse11", caat);Mouse mmouse22 = neew Mouuse("mmouse22", caat);Master masteer = nnew Maaster(cat);cat.Cryy();/-设计方法二: 使用eveent - deleegate设设计.public deleggate vvoid SSubEveentHanndler();public abstrract cclass Subjeectpublic eventt SubEEventHHandleer SubbEventt;protectted vooid FiireAwaay()if (thiis.SubbEventt != nnull)this.SuubEvennt();public classs Cat : Subbjectpublic void Cry()Consolee.WritteLinee("catt cryeed.");this.FiireAwaay();public abstrract cclass Obserrverpublic Obserrver(SSubjecct subb)sub.SubbEventt += nnew SuubEvenntHanddler(RResponnse);public abstrract vvoid RResponnse();public classs Mousse : OObservverprivatee striing naame;public Mousee(striing naame, SSubjecct subb) : bbase(ssub)this.naame = name;public overrride vvoid RResponnse()Consolee.WritteLinee(namee + " attemmpt too escaape!");public classs Mastter : Obserrverpublic Masteer(Subbject sub) : basse(subb)public overrride vvoid RResponnse()Consolee.WritteLinee("hosst wakken");class CClass11static void Main(sstringg arrgs)Cat catt = neew Catt();Mouse mmouse11 = neew Mouuse("mmouse11", caat);Mouse mmouse22 = neew Mouuse("mmouse22", caat);Master masteer = nnew Maaster(cat);cat.Cryy();24、C#中的的委托是什么么?事件是不不是一种委托托?答案:委托是一一个可以对方方法进行引用用的类。与其其他的类不同同,委托类具具有一个签名名,并且它只只能对与其签签名匹配的方方法进行引用用。这样,委委托就等效于于一个类型安安全函数指针针或一个回调调。事件是一一种委托。25、接口和抽抽象类有什么么区别?你选选择使用接口口和抽象类的的依据是什么么?答案:接口是一一个纯粹的抽抽象类,没有有任何实际的的东西,只是是定义了一个个框架,而抽抽象类里面可可以有实际的的一个方法,并并不要求所有有的方法都是是抽象的。可可以实现一个个接口中的所所有方法,也也可以继承一一个抽象的类类,然后覆写写其中的方法法。接口一般般只有方法,而而没有数据成成员或属性。抽抽象类有方法法,也有数据据成员或属性性,一般情况况下,优先考考虑用接口,只只有当可能要要访问到数据据成员或属性性时,用抽象象类。26、谈谈fiinal, finallly, ffinaliize的区别别。答案:finaal修饰符用用于指定类不不能扩展或者者方法或属性性不能重写。它它将防止其他他类通过重写写重要的函数数来更改该类类的行为。带带有finaal修饰符的的方法可以由由派生类中的的方法来隐藏藏或重载。finallyy 块用于清清除在 trry 块中分分配的任何资资源。控制总总是传递给 finallly 块,与与 try 块的存在方方式无关。finalizze允许 OObjectt 在“垃圾圾回收”回收收 Objeect 之前前尝试释放资资源并执行其其他清理操作作。27.new有有几种用法答案:第一种:new CClass();第二种种:覆盖方法法publiic neww XXXXX();第三种:nnew 约束束指定泛型类类声明中的任任何类型参数数都必须有公公共的无参数数构造函数。28.如何把一一个arraay复制到aarrayLList里答案:foreeach( objecct o iin arrray )aarrayLList.AAdd(o);29.概述反射射和序列化答案:反射:程程序集包含模模块,而模块块包含类型,类类型又包含成成员。反射则则提供了封装装程序集、模模块和类型的的对象。您可可以使用反射射动态地创建建类型的实例例,将类型绑绑定到现有对对象,或从现现有对象中获获取类型。然然后,可以调调用类型的方方法或访问其其字段和属性性序列化:序列化化是将对象转转换为容易传传输的格式的的过程。例如如,可以序列列化一个对象象,然后使用用 HTTPP 通过 IInternnet在客户户端和服务器器之间传输该该对象。在另另一端,反序序列化将从该该流重新构造造对象。30.用seaaled修饰饰的类有什么么特点答案:sealled 修饰饰符用于防止止从所修饰的的类派生出其其它类。如果果一个密封类类被指定为其其他类的基类类,则会发生生编译时错误误。密封类不不能同时为抽抽象类。seealed 修饰符主要要用于防止非非有意的派生生,但是它还还能促使某些些运行时优化化。具体说来来,由于密封封类永远不会会有任何派生生类,所以对对密封类的实实例的虚拟函函数成员的调调用可以转换换为非虚拟调调用来处理。31.执行下面面代码后:String strTeemp =""abcdeefg 某某某某";Int i SSystemm.Textt.Encooding.Defauult.GeetBytees(strrTemp).Lenggth;Int j = strTTemp.LLengthh;问:i=(144 ) ;jj=(11 )答案:i=(114 ) ;j=(111 ) 中文文两个字节32.在c#中中usingg和new这这两个关键字字有什么意义义,请写出你你所知道的意意义?答案:Usinng 引入一一个名子空间间,或在使用用了一个对像像后自动调用用其IDesspose,NNew 实例例化一个对像像,或修饰一一个方法,表表此方法完全全重写此方法法33.在下面的的例子里using SSystemm;class AApublic A()PrintFiields();public virtuual vooid PrrintFiields()class BB:Aint x=11;int y;public B()y=-1;public overrride vvoid PPrintFFieldss()Consolee.WritteLinee("x=0,y=1",x,y);当使用new B()创建建B的实例时时,产生什么么输出?答案:X=1,Y=034.下面的例例子中using SSystemm;class AApublic statiic intt X;static A()X=B.Y+11;class BBpublic statiic intt Y=A.X+1;static B()static void Main()Consolee.WritteLinee("X=0,Y=1",A.X,BB.Y);产生的输出结果果是什么?答案:x=1,y=2235.谈谈类和和结构的区别别?答案:最大区别别一个是引用用类型,一个个是值类型默默认成员访问问为publlic是另外外一个区别36.一个长度度为100000的字符串串,通过随机机从a-z中中抽取100000个字符符组成。请用用c语言编编写主要程序序来实现。答案:Random r = nnew Raandom();StrringBuuilderr sb = new StrinngBuillder(110000);for (int i = 00; i << 100000; i+)sb.Apppend(charr)(innt)'a'' + r.Next(0, 266);strinng strr = sbb.ToSttring();37.什么叫做做SQL注入入,如何防止止?请举例说说明。答案:SQL注注入就是在正正常的SQLL执行语句中中恶意插入攻攻击者想要运运行的sqll语句。1.最根本的,不不使用组合ssql的方法法,而是通过过使用命令参参数方式来执执行命令,比比如我们把ssql改成这这种方式:sstringg strSSql = "seleect * from userr wheere LooginNaame =LoginnName and PPwd =Pwd "",然后通通过sqlccommannd来执行它它,就可以从从根本上解决决这个问题。22.控制参数数的长度。因因为要想进行行sql注入入的话,需要要一定长度的的字符串才能能执行,如果果我们规定LLoginNName 的的长度最长不不超过8个,一一般不会造成成损害,当然然这个只是在在特殊的情况况下才使用,比比如有些情况况可能不能使使用命令参数数方式。38.下面这段段代码输出什什么?为什么么?int i=55;int j=55;if(Objeect.ReeferennceEquuals(ii,j) Consoole.WrriteLiine("EEqual"");else Coonsolee.WritteLinee("Nott Equaal");答案:Not Equall,因为引用用的地址不同同。/1. 简述 pprivatte、 prottectedd、 publlic、 inteernal 修饰符的访访问权限。 答 . prrivatee : 私有有成员, 在类的内内部才可以访访问。 proteected : 保护成成员,该类内内部和继承类类中可以访问问。 publiic : 公公共成员,完完全公开,没没有访问限制制。 interrnal: 在同一命名名空间内可以以访问。2 .列举ASSP.NETT 页面之间间传递值的几几种方式。 答. 1).使用QuuerySttring, 如.?id=1; reesponsse. Reedirecct(). 2).使用Seessionn变量 3).使用Seerver.Transsfer3. 一列数的的规则如下: 1、1、22、3、5、88、13、221、34. 求第300位数是多少少, 用递归归算法实现。答:public class MainClass public static void Main() Console.WriteLine(Foo(30); public static int Foo(int i) if (i <= 0) return 0; else if(i > 0 && i <= 2) return 1; else return Foo(i -1) + Foo(i - 2); 4.C#中的委委托是什么?事件是不是是一种委托?答 : 委委托可以把一一个方法作为为参数代入另另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托5.overrride与重重载的区别答答 : ovverridde 与重载载的区别。重重载是方法的的名称相同。参参数或参数类类型不同,进进行多次重载载以适应不同同的需要ovverridde 是进行行基类中函数数的重写。为为了适应需要要。6.如果在一个个B/S结构构的系统中需需要传递变量量值,但是又又不能使用SSessioon、Coookie、AAppliccationn,您有几种种方法进行处处理?答 : QuerryStriing、FoormsAuuthentticatiion、 tthis.SServerr.Trannsfer7.请编程遍历历页面上所有有TextBBox控件并并给它赋值为为strinng.Emppty?答:foreaach (CControol conntrol in thhis.Coontrolls)if (ccontrool is TextBBox)TextBBox tbb = (TTextBoox)conntrol ; tb.Text = Strring.EEmpty ;8.请编程实现现一个冒泡排排序算法?答答:int arrray = new iint * ;innt temmp = 00 ;forr (intt i = 0 ; ii < arrray.LLengthh - 1 ;