设为首页 加入收藏

TOP

C#笔试题面试题深度详解(一)
2014-11-24 02:23:11 】 浏览:2299
Tags:试题 深度 详解

[.NET(C#)]
attribute翻译成特性,用来标识类,方法 。
property翻译为属性,性质用于存取类的字段 。
markup翻译成标记。
tag翻译成标签。
[.NET(C#)]
程序集的一个重要特性是它们包含的元数据描述了对应代码中定义的类型和方法。
[.NET(C#)]
ASP页面有时显示比较慢,因为服务器端代码是解释性的不是编译的。
ASP.NET页面是结构化的。每个页面都是一个继承了.NET类System.Web.UI.Page的类。
[.NET(C#)]
重写override:是指子类重新定义父类的虚函数的做法。
重载overload:是指允许存在多个同名函数,而函数签名不同(参数表不同:或许参数个数不同,或许参数类型不同,或许两者都不同)。重载的概念并不属于“面向对象编程”。
[.NET(C#)]
ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。
out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。
[.NET(C#)]
ADO和ADO.NET的区别:
ADO使用OLE DB接口并基于微软的COM技术;而ADO.NET拥有自己的ADO.NET接口并且基于微软的.NET体系架构。
ADO以Recordset存储,而ADO.NET则以DataSet表示。
Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。
ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。
ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本
ADO.NET的数据库连接也只有在这段时间需要在线。
[.NET(C#)]
new 关键字用法:
1) new 运算符 :用于创建对象和调用构造函数。
2) new 修饰符 :用于向基类成员隐藏继承成员。
3) new 约束 :用于在泛型声明中约束可能用作类型参数的参数的类型。
[.NET(C#)]
C#中,string str = null 与 string str = “”,说明区别:
string str = “” 初始化对象分配空间。
string str = null 表示一个空引用,没有占用空间。
[.NET(C#)]
ADO.NET相对于ADO等主要有什么改进?
1) ado.NET不依赖于ole db提供程序,而是使用.NET托管提供的程序。
2) 不使用com。
3) 不在支持动态游标和服务器端游。
4) 可以断开connection而保留当前数据集可用。
5) 强类型转换。
6) xml支持。
[.NET(C#)]
DataGrid的Datasouse可以连接什么数据源:
1) DataTable
2) DataView
3) DataSet
4) DataViewManager
5) 任何实现IListSource接口的组件
6) 任何实现IList接口的组件
[.NET(C#)]
反射:
可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。
[.NET(C#)]
序列化:
序列化是将对象状态转换为可保持或传输的格式的过程。
与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
[.NET(C#)]
可访问性级别有哪几种:
1) public 访问不受限制。
2) protected 在它的类中可访问并且可由派生类访问。。
3) internal 只有在同一程序集的文件中,内部类型或成员才是可访问的。
4) protected internal 同一个程序集中的所有类,以及所有程序集中的子类都可以访问。
5) private 私有成员只有在声明它们的类和结构体中才是可访问的。
[.NET(C#)]
O/R Mapping 的原理:利用反射,配置将对象和数据库表映射。
[.NET(C#)]
sealed 修饰符有什么特点:
1) sealed 修饰符可以应用于类、实例方法和属性。密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed 修饰符必须始终与 override一起使用。
2) 将密封类用作基类或将 abstract 修饰符与密封类一起使用是错误的。
3) 结构是隐式密封的;因此它们不能被继承。
[.NET(C#)]
详述.NET里class和struct的异同:
相同点:
1) 语法类似。
不同点:
1) class是引用类型,继承自System.Object类; struct是值类型,继承自System.ValueType类,因此不具多态性。但是注意,System.ValueType是个引用类型。
2) 从职能观点来看,class表现为行为; 而struct常用于存储数据。
3) class支持继承,可以继承自类和接口; 而struct没有继承性,struct不能从class继承,也不能作为class的基类,但struct支持接口继承。
4) 实例化时,class要使用new关键字; 而struct可以不使用new关键字,struct在声明时就进行了初始化过程,所有的成员变量均默认为0或null。
[.NET(C#)]
如何选择结构还是类
1) 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些。
2) 结构表示如点、矩形和颜色这样的轻量对象。例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
3) 在表现抽象和多级别的对象层次时,类是最好的选择。
4) 大多数情况下该类型只是一些数据时,结构时最佳的选择。
[.NET(C#)]
抽象类(abstract class)和接口(interface)的区别:
抽象类
1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法。
2) 抽象类不能被实例化。
3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类。
4) 具体派生类必须覆盖基类的抽象方法。
5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,则其具体派生类必须覆盖它们。
[.NET(C#)]
接口
1) 接口不能被实例化。
2) 接口只能包含方法声明。
3) 接口的成员包括方法、属性、索引器、事件。
4) 接口中不能包含常量、字段(域)、构造函数、析构函数、静态成员。
5) 接口中的所有成员默认为public,因此接口中不能有private修饰符。
6) 派生类必须实现接口的所有成员。
7) 一个类可以直接实现多个接口,接口之间用逗号隔开。
8) 一个接口可以有多个父接口,实现该接口的类必须实现所有父接口中的所有成员。
[.NET(C#)]
抽象类和接口的异同:
相同点:
1) 都可以被继承。
2) 都不能被实例化。
3) 都可以包含方法声明。
4) 派生类必须实现未实现的方法。
区 别:
1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。
2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇"What are your goals for t.. 下一篇单链表交换任意两个元素(不包括..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目