C#.Net面试题

点这里,有很多篇《C#.Net经典面试题02

在线阅读本文:http://3y.uu456.com/bp_5dcve363vi7px008u2lt_1.html

C#.Net经典面试题02

目录;目录......................;1.接口与抽象类有什么区别...........;2.String类与StringBuilder类;3.在dot.net中类(class)与结构(s;4.Override与重载有什么区别......;5.C#中接口和类的异同............;6.请你说说.NET中类和结构的区别?.....;7.

目录

目录 .................................................................................................................................................. 1

1. 接口与抽象类有什么区别 .......................................................................................... 3

2. String类与StringBuilder类有什么区别?................................................................. 3

3. 在dot.net中类(class)与结构(struct)的异同: ........................................................... 3

4. Override与重载有什么区别 ........................................................................................ 4

5. C#中接口和类的异同 .................................................................................................. 4

6. 请你说说.NET中类和结构的区别? .......................................................................... 4

7. HashMap和Hashtable区别?....................................................................................... 4

8. 值类型和引用类型的区别? ........................................................................................ 5

9. Heap与stack的差别? ................................................................................................. 5

10. 谈谈final, finally, finalize的区别。 ........................................................................ 5

11. Collection 和 Collections的区别。 ......................................................................... 5

12. sleep() 和 wait() 有什么区别? ................................................................................. 5

13. 在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using

指令 和语句 new 创建实例 new 隐藏基类中方法 .................................................... 6

14. OLEDBConnection 和SQLConnection 有什么区别? .......................................... 6

15. C/S和B/S的区别,优缺点有哪些? ...................................................................... 6

16. ArrayList,Array和string[]三着的区别?.................................................................. 7

17. ADO.net常用的对象有哪些?DataSet和DataReader的区别 ............................... 7

18. web user control 和 cusrom control 区别和含义 .................................................... 8

19. 详细阐述cookie 、viewstate、session之间的区别,以及其各自工作原理 ....... 8

20. Collection 和 Collections的区别 ............................................................................. 8

21. error和exception有什么区别? ................................................................................. 8

22. ADO和ADO.NET的区别 ........................................................................................ 9

23. HTTP1。0和HTTP1。1协议的区别 ...................................................................... 9

24. Java Script 类型与dot net 类型的区别 ................................................................... 9

25. Java Script 与 Java 的区别? .................................................................................. 9

26. SQL SERVER 的"存储过程"和"触发器"有什么不同之处?运行上有什么特点 . 9

27. 描述Cookie和Session的作用,区别和各自的应用范围 .................................. 10

28. C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限

制修饰符,请写出并指出它们之间的区别是什么? ................................................. 10

29. 简单描述包和dll异同 ............................................................................................ 10

30. 简述parent和owner的区别 .................................................................................. 11

31. 数据的实体完整性和参照完整性的区别 .............................................................. 11

32. DIV和Table两种页面排版的优缺点 .................................................................... 11

33. SQL、Access、Oracle三种数据库之间的区别? ................................................ 11

34. Asp和Asp.net的区别? ......................................................................................... 12

35. 如何选择使用结构还是类: .................................................................................. 12

36. OSI网络结构的七层模型及其核心思想是什么 .................................................... 12

37. 进程和线程的区别? .............................................................................................. 13

28. 堆和栈的区别? ...................................................................................................... 13

39. 触发器分为事前触发和事后触发,有何区别? .................................................. 13

40. 描述类中的构造函数和析构函数? ...................................................................... 14

41. ASP.NET的Application、Session、Cookie、ViewState和Cache等变量的区别是

什么? ............................................................................................................................. 14

42. C#中的验证控件有几种 .......................................................................................... 14

43. 页面间的传值有哪几种方式 .................................................................................. 14

44. 表和视图的区别。 .................................................................................................. 15

45. 请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?只能用在

Windows项目里............................................................................................................. 15

46自定义控件和一般用户控件的异同?如果要用这两者之一,你会选择哪种?为什么 .... 15

1. 接口与抽象类有什么区别

答:(1).接口用于规范,抽象类用于共性。

(2) 接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。

(3) 抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。

(4) 抽象类可以提供某些方法的部分实现,接口不可以.

(5) 抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。

(6) 在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。

(7 )接口成员被定义为公共的,但抽象类的成员也可以是私有的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。

2. String类与StringBuilder类有什么区别?

答:(1)StringBuilder表示值为可变字符序列,可以通过追加、移除、替换或插入字符而创建它后可以对它进行修改,而String 对象的值是该有序集合的内容,并且该值是不可变的。 (2 ) 如果串联固定数量的字符串,则 类更适合串联操作,如果串联任意数量的字符串,则 StringBuilder 对象更适合串联操作.

(3)大量字符连接的时候使用stringbuilder,stringbuilder的效率比string高很多。

String类有不可改变性。每次执行字符操作时,都会创建一个新的String对象。 StringBuilder 类解决了对字符串进行重复修改的过程中创建大量对象的问题。初始化一个StringBuilder 之后,它会自动申请一个默认的StringBuilder 容量(默认值是16),这个容量是由Capacity来控制的.并且允许,我们根据需要来控制Capacity的大小,也可以通过Length来获取或设置StringBuilder 的长度.

3. 在dot.net中类(class)与结构(struct)的异同:

答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。

结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化但可以直接使用它成员。

如何选择使用结构还是类:

a) 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些

b) 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点

对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。 c) 在表现抽象和多级别的对象层次时,类是最好的选择

d) 大多数情况下该类型只是一些数据时,结构是最佳的选择

4. Override与重载有什么区别

答:其实很本质的区别就是看函数特征:覆写(Override)的两个函数的函数特征相同,重载(Overload)的两个函数的函数名虽然相同,但函数特征不同。 函数特征包括函数名,参数的类型和个数。Override 是在继承的时候,如果你写的函数与要继承的函数函数特征相同,那么,加上这个关键字,在使用这个子类的这个函数的时候就看不见父类(或超类)的函数了,它被覆盖掉了。

5. C#中接口和类的异同

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

6. 请你说说.NET中类和结构的区别?

答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能声明有默认的构造函数,因为结构的副本是编译器创建和销毁的,所以不需要默 认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是引用类型,改变其变量的值会改变其原值。声明结构用 Struck关键字,申明类用class关键字,向方法传递结构时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类 可以实现接口。

7. HashMap和Hashtable区别?

答:HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable。

8. 值类型和引用类型的区别?

答:值类型的值是存放在堆栈中的,改变其值,不改变变量原有的值,而引用类型的值是存放在栈中的,其引用的地址是存放在堆中的,改变其值也就改变了变量原有的值。值类型不允许包含null值,然而可空类型可以将null赋值给值类型。

9. Heap与stack的差别?

答:Heap是堆,空间是由手动操作分配和释放的,它有很大的自由存储区。 Stack是栈,是由是操作系统自动分配和释放的,栈上的空间是有限的。程序在编译期间为变量和函数分配内存都是在栈上进行的,且在运行时函数调用时的参数的传递也是在栈上进行的。

10. 谈谈final, finally, finalize的区别。

答:final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用 被回收对象的 该方法,可以覆盖该方法提供垃圾收集时 的其他资源回收,例如关闭文件等。

11. Collection 和 Collections的区别。

答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作

12. sleep() 和 wait() 有什么区别?

答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)"醒来"的线程具有更高的优先级 (b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

三亿文库包含各类专业文献、文学作品欣赏、生活休闲娱乐、应用写作文书、行业资料、专业论文、中学教育、外语学习资料、幼儿教育、小学教育、高等教育等内容。

三亿文库http://3y.uu456.com/

上亿文档资料,等你来发现

转载于:https://www.cnblogs.com/OUYUPING/p/6656335.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值