1. abstract class 和 interface 的区别 ?
abstract class 是抽象类。它声明了方法,而且可以有属性,但它的方法不实现,主要创建一个体现基本行为的类。不能创建类的实例。它的子类来实现它的方法,若子类也没有实现,那么这个子类也是抽象类。
interface 是接口,在接口中 ,所有的方法都是抽象的 ,一个类可以继承多个接口 , 接口中不能有属性 。
2。 <%# %> 和 <% %> 有什么区别?
<%# %> 表示绑定的数据源 。
<% %> 是服务器端代码块 。
3. & 和 && 的区别?
& 是位运算符 , 而 && 是逻辑运算符 (and) 。
4. C# 可否对内存进行直接的操作 ?
不能 ,C# 有垃圾回收功能 , 不能直接操作内存 , 但是可以调用基类的 Finalize() 方法。
5. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
把 62 变成 2 的 6 次方。
6. 在 .net ( C# or vb.net )中, Appplication.Exit 还是 Form.Close 有什么不同 ?
Appplication.Exit 是退出整个程序 , 而 Form.Close 是关闭 Form 。
7. 在 .Net 托管代码中我们不用担心内存漏洞,这是因为有了 ______ 。
GC(垃圾回收器)。
8. 在 .Net 中所有可序列化的类都被标记为 _____ 。
[serializable]。
9. 用 sealed 修饰的类有什么特点?
密封的 , 不能继承 。
10. 委托声明的关键字是 ______?
delegate。
11.float f=-123.567F; int i=(int)f;i 的值现在是 _____?
-123 。
12.public static const int A=1; 这段代码有错误么?是什么?
const 不能有 static 修饰。
13. 当整数 a 赋值给一个 object 对象时,整数 a 将会被?
装箱。
14.c# 中的三元运算符是?
?:。
15.ADO.net 中常用的对象有哪些?分别描述一下。
Connection 数据库连接对象
Command 数据库命令
DataReader 数据读取器
DataSet 数据集
16. 什么是虚函数?什么是抽象函数 ?
虚函数 : 没有实现的 , 可有子类继承或重写。 抽象函数 : 其非虚子类必须重写函数。
17. 下面这段代码输出什么?为什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine(“Equal”);
else
Console.WriteLine(“Not Equal”)
不相等,因为比较的是对象。
18. 在 c# 中 using 和 new 这两个关键字有什么意义,请写出你所知道的意义?
new 创建实例 ,new 隐藏基类中方法 ,using 引入命名空间或者使用非托管资源。
19. 软件开发过程一般有几个阶段?
需求分析,架构设计,代码编写。
20.DataReader 与 Dataset 有什么区别 ?
DataReader 只能向前读 , 而 Dataset 是建立一个内存中的表。
21. 向服务器发送请求有几种方式?
get,post。
22. 请说明在 .net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。
session(viewstate): 简单,但易丢失
application: 全局
cookie: 简单 , 但可能不支持 , 可能被伪造
23.ASP.NET 与 ASP 相比,主要有哪些进步 ?
asp 解释形 ,aspx 编译型 ,asp.net 有更多的类。
24.String s = new String(“xyz”); 创建了几个 String Object?
两个对象 . 一个是是 xyz, 一个是指向 xyz 引用的 s。
25.GC 是什么 ? 为什么要有 GC?
GC 是垃圾回收器。 因为有了 GC 就省去了程序员手工编码释放内存。
26. 能用 foreach 遍历访问的对象需要实现 ________________ 接口或声明 ________________ 方法的类型。
IEnumerable 、 GetEnumerator。
27. 面向对象的语言具有 ________ 性、 _________ 性、 ________ 性
封装、继承、多态。
28. 在 C #中, string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别
string str = null 是不给他分配内存空间 , 而 string str = “” 给它分配长度为空字符串的内存空间。
29.net 中读写数据库需要用到那些类 ? 他们的作用 ?
DataSet: 数据存储器。
DataCommand: 执行语句命令。
DataAdapter: 数据的集合,用语填充。
30. 什么是装箱和拆箱?
从值类型转换到引用类型装箱 ( 可隐式转换 ), 从引用类型转换到值类型拆箱。
31.CTS 、 CLS 、 CLR 分别作何解释 ?
CTS :通用语言系统。 CLS :通用语言规范。 CLR :公共语言运行库。
32. 用 .net 做 B/S 结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
一般为 3 层
数据访问层,业务层,表示层。
数据访问层:对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
表示层:为了与用户交互例如用户添加表单。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点: 增加成本。
33. 描述一下 C# 中索引器的实现过程,是否只能根据数字进行索引 ?
定义一个索引器必须使用 this 关键字 , 如 this[index]。 可以是任意类型索引。
34.override 与重载的区别
重载是方法的名称相同 , 参数或参数类型不同。 Override 是进行基类中函数的重写。
35.C# 中的委托是什么?事件是不是一种委托?
委托可以把一个方法作为参数代入另一个方法 . 委托可以理解为指向一个函数的引用。
事件是 一种特殊的委托。
36. 简述 private 、 protected 、 public 、 internal 修饰符的访问权限
private : 私有成员 , 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。



