《常见.net面试题及答案.docx》由会员分享,可在线阅读,更多相关《常见.net面试题及答案.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 常见.net面试题及答案 Connection:主要是开启程序和数据库之间的连结。没有利用连结对象将数据库翻开,是无法从数据库中取得数据的。这个物件在ADO.NET 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。 Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection 对象上,也就是Command 对象是透过连结到数据源。 DataAdapter:主要是在数据源以及DataSet 之间执行数据传输的工作,它可以透过Command 对象下达命令后,并将取得的数
2、据放入DataSet 对象中。这个对象是架构在Command对象上,并供应了很多协作DataSet 使用的功能。 DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保存起来,甚至可以将整个数据库显示出来。DataSet 的力量不只是可以储存多个Table 而已,还可以透过DataAdapter对象取得一些例如主键等的.数据表构造,并可以记录数据表间的关联。DataSet 对象可以说是ADO.NET 中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的力量;也就是说我们是将DataAdapter对象当做DataSet 对象以及
3、数据源间传输数据的桥梁。 DataReader:当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader 对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。由于DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节约资源而且效率很好。使用DataReader 对象除了效率较好之外,由于不用把数据全部传回,故可以降低网络的负载。 ADO.NET 使用Connection 对象来连接数据库,使用Command 或DataAdapter对象来执行SQL语句,并将执行的结果返回给D
4、ataReader 或 DataAdapter ,然后再使用取得的DataReader 或DataAdapter 对象操作数据结果。 2、列举ASP.NET 页面之间传递值的几种方式。 1.使用QueryString, 如.?id=1; response. Redirect(). 2.使用Session变量 3.使用Server.Transfer 4.Cookie传值 5.Application传值 3、C#中的托付是什么?大事是不是一种托付? 托付可以把一个方法作为参数代入另一个方法。 托付可以理解为指向一个函数的引用。 是,是一种特别的托付。 4、override与重载的区分 重载是方法的
5、名称一样。参数或参数类型不同,进展屡次重载以适应不同的需要 Override 是进展基类中函数的重写。为了适应需要。 5、三层架构通 常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务规律层(BLL)、数据访问层(DAL)。 区分层次的目的即为了“高内聚,低耦合”的思想。 表现层(UI):通俗讲就是呈现给用户的界面,即用户在使用一个系统的时候的所见所得。 业务规律层(BLL):针对详细问题的操作,也可以说是对数据层的操作,对数据业务规律处理。 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增加、删除、修改、更新、查找等每层之间是一种垂直的关系。 三层构造是N层构造的
6、一种,一般来说,层次之间是向下依靠的,下层代码未确定其接口(契约)前,上层代码是无法开发的,下层代码接口(契约)的变化将使上层的代码一起变化。 优点: 分工明确,条理清楚,易于调试,而且具有可扩展性。 缺点: 增加本钱。 6、MVC模式 MVC(Model View Controller)模型-视图-掌握器 MVC是典型的平行关系,没有说谁在上谁在下的关系,模型负责业务领域的事情,视图负责显示的事情,掌握器把数据读取出来填充模型后把模型交给视图去处理。而各种验证什么的应当是在模型里处理了。它强制性的使应用程序的输入、处理和输出分开。MVC最大的好处是将规律和页面分别。 7、.NET和C#有什么
7、区分 答:.NET一般指 .NET FrameWork框架,它是一种平台,一种技术。 C#是一种编程语言,可以基于.NET平台的应用。 8、一列数的规章如下: 1、1、2、3、5、8、13、21、34. 求第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); 9、什么是装箱和拆箱? 答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。 10、 什么是受管制的代码? 答:unsafe:非托管代码。不经过CLR运行。