C#基本问题列表——面试通常题
2006-03-03 22:47
253 查看
1、String str=new String("a")和String str = "a"有什么区别?
String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它,如果没有才创建如果你以后还用到"a"这个字符串的话并且是这样用: String str1 = "a"; String str2 = "a"; String str2 = "a"; 这4个变量都共享一个字符串"a" 而String str = new String("a");是根据"a"这个String对象再次构造一个String对象,将新构造出来的String对象的引用赋给str
2、判断字符串变量str是否为空的一下三种方法哪个性能更优:a、str=="";b、str==String.Empty;c、str.Length==0;?
答案是c;原因我就不说了。
3、string与String的区别
string、int是C#定义的类型,而String、Int32是.net类型即是CTS类型;
string 是 .NET 框架中 System.String 的别名。
string在编译的时候会转化为String类
4、虚方法(virtual )和抽象方法(abstract)的区别?
之一:抽象方法仅有声明,而没有任何实现,如abstract someMethod();,虚方法却不能如此
之二:子类继承父类,可以对父类中的虚方法进行重写、覆盖、不处理三种处理(见5),对抽象方法却必须实现
5、子类对父类中虚方法的处理有重写(override)和覆盖(new),请说明它们的区别?
有父类ParentClass和子类ChildClass、以及父类的虚方法VirtualMethod。有如下程序段:
ParentClass pc = new ChildClass();
pc.VirtualMethod(...);
如果子类是重写(override)父类的VirtualMethod,则上面的第二行语句将调用子类的该方法
如果子类是覆盖(new)父类的VirtualMethod,则上面的第二行语句将调用父类的该方法
6、抽象类(abstract)和接口(interface)的区别
抽象类可以有自己的实现,接口却仅有声明,可以有自己的静态数据字段;
java和C#中可以实现多个接口,却只能继承一个抽象类(或者非抽象类)(单继承,和c++的多继承不同);
7、未完待续,敬请关注——
String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它,如果没有才创建如果你以后还用到"a"这个字符串的话并且是这样用: String str1 = "a"; String str2 = "a"; String str2 = "a"; 这4个变量都共享一个字符串"a" 而String str = new String("a");是根据"a"这个String对象再次构造一个String对象,将新构造出来的String对象的引用赋给str
2、判断字符串变量str是否为空的一下三种方法哪个性能更优:a、str=="";b、str==String.Empty;c、str.Length==0;?
答案是c;原因我就不说了。
3、string与String的区别
string、int是C#定义的类型,而String、Int32是.net类型即是CTS类型;
string 是 .NET 框架中 System.String 的别名。
string在编译的时候会转化为String类
4、虚方法(virtual )和抽象方法(abstract)的区别?
之一:抽象方法仅有声明,而没有任何实现,如abstract someMethod();,虚方法却不能如此
之二:子类继承父类,可以对父类中的虚方法进行重写、覆盖、不处理三种处理(见5),对抽象方法却必须实现
5、子类对父类中虚方法的处理有重写(override)和覆盖(new),请说明它们的区别?
有父类ParentClass和子类ChildClass、以及父类的虚方法VirtualMethod。有如下程序段:
ParentClass pc = new ChildClass();
pc.VirtualMethod(...);
如果子类是重写(override)父类的VirtualMethod,则上面的第二行语句将调用子类的该方法
如果子类是覆盖(new)父类的VirtualMethod,则上面的第二行语句将调用父类的该方法
6、抽象类(abstract)和接口(interface)的区别
抽象类可以有自己的实现,接口却仅有声明,可以有自己的静态数据字段;
java和C#中可以实现多个接口,却只能继承一个抽象类(或者非抽象类)(单继承,和c++的多继承不同);
7、未完待续,敬请关注——
相关文章推荐
- C#基本问题列表——面试通常题 (转)
- C#基本问题列表——面试通常题 (转)
- C#基本问题列表——面试通常题
- 博客园.net面试问题大搜集-C#基本知识点
- 最近5年133个Java面试问题列表
- 最近5年133个Java面试问题列表
- 面试宝典之基本的C#面试问答
- 一个C#面试问题,要求是将字符串中重复字符从第二个开始都去掉,空格除外。然后显示的时候,从后往前显示。
- 2018年最新最基本的JavaScript面试问题及答案
- 面试宝典之基本的C#面试问答
- java技术面试基本问题小结
- 面试问题列表
- C#面试基础问题
- 近五年来133个Java 面试问题及列表
- C#单向循环列表 解决 约瑟夫问题
- 125个基本的C#面试问答(为了以后能玩unity,转了吧,亲)
- [转] 外企面试--基本涵盖了所有问题【附带有答案版本】
- 我在面试.NET/C#程序员时会提出的问题(转载)
- 133个Java面试问题列表
- 最近 5 年 133 个 Java 面试问题列表(上)