.NET面试题(2)

来源:互联网 发布:保险软件 编辑:程序博客网 时间:2024/05/16 06:07

1.下列选项哪个是引用类型()?

  A. enum类型       B.  struct类型       C.   string类型      D.  int类型

  答案:C


2.下列描述错误的是()?

  A.  类不可以多重继承,而接口可以

  B.  抽象类自身可以定义成员,而接口不可以

  C.  抽象类和接口都不能被实例化

  D.  一个类可以有多个基类和基接口

  答案: D  一个类最多有一个基类,可以实现多个接口。


3.DataReader 和 DataSet 的异同 ?

  DataReader 使用时,始终占有 SqlConnection 连接,在线操作数据库。

  每次只往内存中加载一条数据,所以占用的内存是非常小的,是只进的,只读的。

  DataSet 则是将数据一次性加载到内存中,抛弃数据库连接   操作完毕后即放弃数据库连接(非连接模式)

  DataSet将所有数据全部加载到内存中,所以比较消耗内存,但是要比DataReader要更灵活,可以动态添加行,列,数据,对数据库进行回传更新操作(动态操作读入到内存当中的数据)。


4.public static const int a = 3;  这段代码有错误吗?

  答案:const 不能被修饰为 static ,因为定义为常量后(const)就是静态的(static)。


5. C# 语法支持多重继承么?

  答案:类之间不支持,接口之间支持。类对接口叫实现,不叫继承。好比类是爹,接口是能力,可以有多个能力,但是只能有一个爹。


6.C#中所有对象的共同基类是什么?

  System.Object


7.通过超链接怎么传递中文参数?

  答案:用URL编码,通过QueryString传递,用urlencode编码,用urldecode解码。


8.String  string ,   Int32  int   ,  Boolean  bool  的区别?

  String  Init32  Boolean  等都属于.NET中定义的类,string   int  bool 相当于C#中对这些类起的别名。   CTS   公共类型系统


9.Server.Transfer  和 Response.Redirect  的区别是什么?

  答案:Server.Transfer 仅是服务器中控制权的转向,在客户端浏览器地址栏中不会显示出跳转后的链接地址。Response.Redirect则是完全的跳转,客户端将会得到跳转的地址,并且重新发送请求链接,这样,在客户端浏览器地址栏中就会显示出跳转后的链接地址。

  Server.Transfer是服务器请求资源,服务器直接去请求目标URL,将那个URL中的相应内容读取出来,然后将内容发送给浏览器,浏览器根本不知道服务器发送给他的内容是从哪来的,所以浏览器地址栏中的地址还是原来的地址。在这个过程中,客户端浏览器和Web服务器进行了一次交互。

  Response.Redirect是服务器端根据逻辑,发送一个状态码,告诉浏览器去重新请求那个地址,一般浏览器会根据刚才请求的所有参数去重新请求。这个过程中,客户端浏览器和Web服务器进行了两次交互。

Server.Transfer 不可以转向外部网站,Response.Redirect 可以。

Server.Execute 和 Server.Transfer 类似  ,但是把执行结果嵌入到当前页面。


10.不是说字符串是不可变的吗? string s = "abc";   s = "123";  不就是变了吗?

    String是不可变的。在这段代码中,字符串变量s一开始指向 一个string对象,内容是 abc 。后来又指向了另一个string对象,内容是 123。原先的对象并没有发生改变,只是变量 s 不再指向他了,而是指向了另一个对象。原来那个字符串对象还存在内存中,只是 s 这个引用变量不再指向他了。





0 0
原创粉丝点击