答:.NET一般指.NETFrameWork框架,它是一种平台,一种技术。
C#是一种编程语言,可以基于.NET平台的应用。
2.一列数的规则如下:1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归算法实现。答:publicclassMainClass{publicstaticvoidMain(){Console.WriteLine(Foo(30));}publicstaticintFoo(inti){if(i<=0)return0;elseif(i>0&&i<=2)return1;elsereturnFoo(i-1)+Foo(i-2);}}
3.C#中的委托是什么?事件是不是一种委托?答:委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托
4.简述private、protected、public、internal修饰符的访问权限。
答.private:私有成员,在类的内部才可以访问。
protected:保护成员,该类内部和继承类中可以访问。
public:公共成员,完全公开,没有访问限制。
internal:在同一命名空间内可以访问。
5.override与重载的区别
答:override与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多
次重载以适应不同的需要
Override是进行基类中函数的重写。为了适应需要。
6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?答:this.Server.Transfer
7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?答:foreach(System.Windows.Forms.Controlcontrolinthis.Controls){if(controlisSystem.Windows.Forms.TextBox){System.Windows.Forms.TextBoxtb=(System.Windows.Forms.TextBox)control;tb.Text=String.Empty;}}
8.请编程实现一个冒泡排序算法?答:int[]array=newint[*];inttemp=0;for(inti=0;i 9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?答:不是。可以用任意类型。 10.求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+……+m答:intNum=this.TextBox1.Text.ToString();intSum=0;for(inti=0;i 11.在下面的例子里usingSystem;classA{publicA(){PrintFields();}publicvirtualvoidPrintFields(){}}classB:A{intx=1;inty;publicB(){y=-1;}publicoverridevoidPrintFields(){Console.WriteLine("x={0},y={1}",x,y);}当使用newB()创建B的实例时,产生什么输出?答:X=1,Y=0;x=1y=-1 12.CTS、CLS、CLR分别作何解释?答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。 13.什么是装箱和拆箱?答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。 14.什么是受管制的代码?答:unsafe:非托管代码。不经过CLR运行。 15.什么是强类型系统? 答:RTTI:类型识别系统。 16.net中读写数据库需要用到那些类?他们的作用? 答:DataSet:数据存储器。 DataCommand:执行语句命令。 DataAdapter:数据的集合,用语填充。 17.列举ASP.NET页面之间传递值的几种方式。答.1).使用QueryString,如....id=1;response.Redirect()....2).使用Session变量3).使用Server.Transfer 18.什么是Code-Behind技术? 答:代码后植。 19.在.net中,配件的意思是? 答:程序集。(中间语言,源数据,资源,装配清单) 20.常用的调用WebService的方法有哪些? 答:1.使用WSDL.exe命令行工具。 2.使用VS.NET中的AddWebReference菜单选项 21..netRemoting的工作原理是什么? 答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置 。 22.在C#中,stringstr=null与stringstr=“”请尽量使用文字或图 象说明其中的区别。 答:stringstr=null是不给他分配内存空间,而stringstr=""给它分配 长度为空字符串的内存空间。 23.请详述在dotnet中类(class)与结构(struct)的异同? 答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类 型,是分配在内存的栈上的. 24.分析以下代码,完成填空 stringstrTmp="abcdefg某某某"; inti=System.Text.Encoding.Default.GetBytes(strTmp).Length; intj=strTmp.Length; 以上代码执行完后,i=j= 答:i=13,j=10 25.SQLSERVER服务器中,给定表table1中有两个字段ID、LastUpdateDate, SQL语句获得最后更新的事务号 答:SelectIDFROMtable1WhereLastUpdateDate=(SelectMAX (LastUpdateDate)FROMtable1) 26.简要谈一下您对微软.NET构架下remoting和webservice两项技术的理解以及 实际中的应用。 答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传 送提高效率。 27.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到 以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视 图中的所有行(排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的 思路 答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中。 28.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID 作为主键,注意:ID可能不是连续的。 答:解1:selecttop10*fromAwhereidnotin(selecttop30id fromA) 解2:selecttop10*fromAwhereid>(selectmax(id)from(select top30idfromA)asA) 29.面向对象的语言具有________性、_________性、________性 答:封装、继承、多态。 ________________方法的类型。 答:IEnumerable、GetEnumerator。 31.GC是什么为什么要有GC 答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管 理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 32.Strings=newString("xyz");创建了几个StringObject 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 33.启动一个线程是用run()还是start() 答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状 态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run() 方法可以产生必须退出的标志来停止一个线程。 34.接口是否可继承接口抽象类是否可实现(implements)接口抽象类是否可 继承实体类(concreteclass) 答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承 实体类,但前提是实体类必须有明确的构造函数。 35.构造器Constructor是否可被override 答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载 Overloading。 36.是否可以继承String类 答:String类是final类故不可以继承。 37.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会 不会被执行,什么时候被执行,在return前还是后 答:会执行,在return前执行。 38.两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句 话对不对 答:不对,有相同的hashcode。 39.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上 答:switch(expr1)中,expr1是一个整数表达式。因此传递给switch和 case语句的参数应该是int、short、char或者byte。long,string都不 能作用于swtich。 40.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此 对象的其它方法 不能,一个对象的一个synchronized方法只能由一个线程访问。 41.abstract的method是否可同时是static,是否可同时是native,是否可同时是 synchronized 答:都不能。 42.List,Set,Map是否继承自Collection接口 答:List,Set是Map不是 43.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢是用==还是 equals()它们有何区别 答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。 equals()是判读两个Set是否相等。 equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是 当两个分离的对象的内容和类型相配的话,返回真值。 44.数组有没有length()这个方法String有没有length()这个方法? 答:数组没有length()这个方法,有length的属性。String有有length()这个方 法。 45.sleep()和wait()有什么区别 不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被 调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级 (b)正在运行的线程因为其它原因而阻塞。 wait()是线程交互时,如果线程对一个同步对象x发出一个wait()调用,该线程 46.shorts1=1;s1=s1+1;有什么错shorts1=1;s1+=1;有什么错 答:shorts1=1;s1=s1+1;有错,s1是short型,s1+1是int型,不能显式 转化为short型。可修改为s1=(short)(s1+1)。shorts1=1;s1+=1正 确。 47.谈谈final,finally,finalize的区别。 答: finally—再异常处理时提供finally块来执行任何清除操作。如果抛出一个异 常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果 有的话)。 finalize—方法名。Java技术允许使用finalize()方法在垃圾收集器将对象 从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个 对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的 类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工 作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 48.如何处理几十万条并发数据? 答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方 式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来 获取. 49.Session有什么重大BUG,微软提出了什么方法加以解决? 答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQLServer数据库的方式存储Session不过这种方式比较慢,而且无法 捕获Session的END事件。 50.进程和线程的区别? 答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个 进程可以有多个线程,这些线程共享这个进程的资源。 51.堆和栈的区别? 答:栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。 堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆 上。 52.成员变量和成员函数前加static的作用? 答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分 别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数 负责这种统计的动作。 53.ASP。NET与ASP相比,主要有哪些进步? 答:asp解释形,aspx编译型,性能提高,有利于保护源码。 54.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 答:session(viewstate)简单,但易丢失 application全局 cookie简单,但可能不支持,可能被伪造 inputttype="hidden"简单,可能被伪造 url参数简单,显示于地址栏,长度有限 数据库稳定,安全,但性能相对弱 55.请指出GAC的含义? 答:全局程序集缓存。 56.向服务器发送请求有几种方式? 答:get,post。get一般为链接方式,post一般为按钮方式。 57.DataReader与Dataset有什么区别? 答:一个是只能向前的只读游标,一个是内存中虚拟的数据库。 58.软件开发过程一般有几个阶段?每个阶段的作用? 答:需求分析,架构设计,代码编写,QA,部署 59.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令和语句new创建实例new隐藏基类中方法。 答:using引入名称空间或者使用非托管资源 new新建实例或者隐藏父类方法 60.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中 间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空 格数不可超过一个. 答:stringinputStr="xxxx"; inputStr=Regex.Replace(inputStr.Trim(),"*",""); 61.什么叫做SQL注入,如何防止?请举例说明。 答:利用sql关键字对网站进行攻击。过滤关键字'等 62.什么是反射? 答:动态获取程序集信息 63.用Singleton如何写设计模式 答:static属性里面new,构造函数private 64.什么是ApplicationPool? 答:Web应用,类似ThreadPool,提高并发性能。 65.什么是虚函数?什么是抽象函数? 答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚 子类必须实现的函数,必须被重写。 66.什么是XML? 答:XML即可扩展标记语言。eXtensibleMarkupLanguage.标记是指计算机所能 如何定义这些标记,即可以选择国际通用的标记语言,比如HTML,也可以使用象 中简化修改出来的。它主要用到的有XML、XSL和XPath等。 67.什么是WebService?UDDI? 答:WebService便是基于网络的、分布式的模块化组件,它执行特定的任务,遵 守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。 UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为 WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将 自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。 68.什么是ASP.net中的用户控件? 答:用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类 似ASP中的include..但是功能要强大的多。 69.列举一下你所了解的XML技术及其应用 答:xml用于配置,用于保存静态数据类型.接触XML最多的是webServices..和 config 70.ADO.net中常用的对象有哪些?分别描述一下。 答:Connection数据库连接对象 Command数据库命令 DataReader数据读取器 DataSet数据集 71.什么是code-Behind技术。 答:ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务 器代码分离.方便代码编写和整理. 72.什么是SOAP,有哪些应用。 答:simpleobjectaccessprotocal,简单对象接受协议.以xml为基本编码结构 soap)的一种规范WebService使用的协议.. 73.C#中property与attribute的区别,他们各有什么用处,这种机制的好处 在哪里? 答:一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加 性质 74.XML与HTML的主要区别 答:1.XML是区分大小写字母的,HTML不区分。 2.在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以 省略 3.在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/字符作为 结尾。这样分析器就知道不用查找结束标记了。 4.在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。 5.在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应 的值。 75.c#中的三元运算符是? 答:?:。 76.当整数a赋值给一个object对象时,整数a将会被? 答:装箱。 77.类成员有_____种可访问形式? 答:this.;newClass().Method; 78.publicstaticconstintA=1;这段代码有错误么?是什么? 答:const不能用static修饰。 79.floatf=-123.567F;inti=(int)f;i的值现在是_____ 答:-123。 答:delegate. 81.用sealed修饰的类有什么特点? 答:密封,不能继承。 82.在Asp.net中所有的自定义用户控件都必须继承自________ 答:Control。 83.在.Net中所有可序列化的类都被标记为_____ 答:[serializable] 84.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______ 答:GC。 以or不可以)从T派生出新的类,不可以____(可以or不可以)直接创建T的 任何实例。 答:不可以,不可以。 86.下面这段代码有错误么? switch(i){ case():答://case()条件不能为空 CaseZero(); break; case1: CaseOne(); case2: dufault;答://wrong,格式不正确 CaseTwo(); } 87.在.Net中,类System.Web.UI.Page可以被继承么? 答:可以。 88..net的错误处理机制是什么? 答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛 ,直到找到匹配的Catch为止。 答:要同时修改Equale和GetHash()重载了"=="就必须重载"!=" 90.在.net(C#orvb.net)中如何取消一个窗体的关闭。 答:privatevoidForm1_Closing(objectsender, System.ComponentModel.CancelEventArgse) { e.Cancel=true; 91.在.net(C#orvb.net)中,Appplication.Exit还是Form.Close有什么 不同? 答:一个是退出整个应用程序,一个是关闭其中一个form。 92.某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密 码单词必须遵循如下规则: (1)密码单词的最小长度是两个字母,可以相同,也可以不同 (2)K不可能是单词的第一个字母 (3)如果L出现,则出现次数不止一次 (4)M不能使最后一个也不能是倒数第二个字母 (5)K出现,则N就一定出现 (6)O如果是最后一个字母,则L一定出现 问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词? A)KB)LC)MD)N 答案:B 问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的 总数是多少? A)1个B)3个C)6个D)9个 答案:A 问题三:下列哪一个是单词密码? A)KLLNB)LOMLC)MLLOD)NMKO 答案:C 93.62-63=1等式不成立,请移动一个数字(不可以移动减号和等于号),使得等 式成立,如何移动? 答案:62移动成2的6次方 94.C#中property与attribute的区别,他们各有什么用处,这种机制的好 处在哪里? 答:attribute:自定义属性的基类;property:类中的属性 95.在C#中,stringstr=null与stringstr=""请尽量使用文字或图 答:null是没有空间引用的; ""是空间为0的字符串; 96.abstractclass和interface有什么区别 接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对像上调用接口的方法。由于有抽像类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。 97.<%#%>和<%%>有什么区别? 答:<%#%>表示绑定的数据源 <%%>是服务器端代码块 98.重载与覆盖的区别? 答:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个 类中方法之间的关系,是水平关系 2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之 间的关系。 99.Overloaded的方法是否可以改变返回值的类型 答:Overloaded的方法是可以改变返回值的类型。 100.C#可否对内存进行直接的操作? 答:在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员不过在C#中。