1、.NET的错误处理机制是什么?

.NET错误处理机制采用try-->catch-->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。

2、C#中接口和类的区别是什么?

接口和类都是类,不同的是,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法和属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。

3、DataReader和DataSet的区别是什么?

(1)DataReader和DataSet最大区别是,DataReader使用时始终占用SqlConnection,在线操作数据库,任何对SqlConnection的操作都会引发DataReader的异常。因为DataReader只在内存中加载一条数据,所以占用的内存是很小的。由于DataReader的特殊性和高性能,所以DataReader是只进的,你读了第一条之后就不能再去读第一条了。

(2)DataSet则是将数据一次性加载到内存中,读取完毕就抛弃数据库连接。因为DataSet将数据全部加载到内存中,所以比较消耗内存。但是DataSet却比DataReader灵活,可以动态的添加行、列、数据,对数据库进行回传更新操作。

 4、System.String和System.StringBuilder有什么区别?

System.String是不可变的字符串。String类是final类,所以不能被继承。

System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。

5、c#中所有对象共同的基类是:System.Object。

6、UDP连接和TCP连接的异同:前者只管传,不管数据到不到,无须建立连接;后者保证传输的数据准确,必须要建立连接。

 7、进程和线程的区别:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位。一个进程可以有多个线程,这些线程共享这个进程的资源。

8、如何理解.net中的垃圾回收机制?

.NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。

9、什么是SOAP,有哪些应用?

SOAP(Simple Object Access Protocol )简单对象访问协议,是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一中语言相互通信。这种相互通信采用的是XML格式的消息。

SOAP也被称作XMLP,为两个程序交换信息提供了一种标准的工作机制。在各类机构之间通过电子方式相互协作的情况下完全有必要为此制定相应的标准。

SOAP描述了把消息捆绑为XML的工作方式。它还说明了发送消息的发送方、消息的内容和地址以及发送消息的时间。SOAP是Web Service的基本通信协议。SOAP规范还定义了怎样用XML来描述程序数据(Program Data),怎样执行RPC(Remote Procedure Call)。大多数SOAP解决方案都支持RPC-style应用程序。SOAP还支持 Document-style应用程序(SOAP消息只包含XML文本信息)。

最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。MSMQ、SMTP、TCP/IP都可以做SOAP的传输协议。 

SOAP 是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现的语义。

SOAP 定义了一种方法以便将 XML 消息从 A 点传送到 B 点。 为此,它提供了一种基于 XML 且具有以下特性的消息处理框架: 
(1) 可扩展
(2)可通过多种底层网络协议使用
(3)独立于编程模型。