c#基础常见面试题

c#基础常见面试题

ID:14099928

大小:402.00 KB

页数:38页

时间:2018-07-26

c#基础常见面试题_第1页
c#基础常见面试题_第2页
c#基础常见面试题_第3页
c#基础常见面试题_第4页
c#基础常见面试题_第5页
资源描述:

《c#基础常见面试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C#基础概念二十五问1.静态成员和非静态成员的区别?2.const和staticreadonly区别?3.extern是什么意思?4.abstract是什么意思?5.internal修饰符起什么作用?6.sealed修饰符是干什么的?7.override和overload的区别?8.什么是索引指示器?9.new修饰符是起什么作用?10.this关键字的含义?11.可以使用抽象函数重写基类中的虚函数吗?12.密封类可以有虚函数吗?13.什么是属性访问器?14.abstract可以和virtual一起使用吗?可以和override一起使用吗?15.接口可以包含哪些成员?16.类

2、和结构的区别?17.接口的多继承会带来哪些问题?18.抽象类和接口的区别?19.别名指示符是什么?20.如何手工释放资源?21.P/Invoke是什么?22.StringBuilder和String的区别?23.explicit和implicit的含义?24.params有什么用?25.什么是反射?答案1.静态成员和非静态成员的区别?答:静态变量使用static修饰符进行声明,在类被实例化时创建,通过类进行访问不带有static修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量

3、可以是不同的值静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等示例:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceExample01{classProgram{classClass1{publicstaticStringstaticStr="Class";publicStringnotstaticStr="Obj";}staticvoidMain(string[]args){//静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值Console.WriteL

4、ine("Class1'sstaticStr:{0}",Class1.staticStr);Class1tmpObj1=newClass1();tmpObj1.notstaticStr="tmpObj1";Class1tmpObj2=newClass1();tmpObj2.notstaticStr="tmpObj2";//非静态变量通过对象进行访问,不同对象的同一非静态变量可以有不同的值Console.WriteLine("tmpObj1'snotstaticStr:{0}",tmpObj1.notstaticStr);Console.WriteLine("tmpObj2'

5、snotstaticStr:{0}",tmpObj2.notstaticStr);Console.ReadLine();}}}结果:Class1'sstaticStr:ClasstmpObj1'snotstaticStr:tmpObj1tmpObj2'snotstaticStr:tmpObj22.const和staticreadonly区别?答:const用const修饰符声明的成员叫常量,是在编译期初始化并嵌入到客户端程序staticreadonly用staticreadonly修饰符声明的成员依然是变量,只不过具有和常量类似的使用方法:通过类进行访问、初始化后不可以修改

6、。但与常量不同的是这种变量是在运行期初始化测试类:usingSystem;usingSystem.Collections.Generic;usingSystem.Text; namespaceExample02Lib{publicclassClass1{//publicconstStringstrConst="Const";//publicstaticreadonlyStringstrStaticReadonly="StaticReadonly";publicconstStringstrConst="ConstChanged";publicstaticreadonlyStr

7、ingstrStaticReadonly="StaticReadonlyChanged";}}结果strConst:ConststrStaticReadonly:StaticReadonlyChanged3.extern是什么意思?答:extern修饰符用于声明由程序集外部实现的成员函数经常用于系统API函数的调用(通过DllImport)。注意,和DllImport一起使用时要加上static修饰符也可以用于对于同一程序集不同版本组件的调用(用extern声明别名)不能与abstract修饰符同时使用示例:usi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。