1 / 30
文档名称:

C#基础知识.doc

格式:doc   页数:30
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C#基础知识.doc

上传人:xxj16588 2016/6/3 文件大小:0 KB

下载得到文件列表

C#基础知识.doc

相关文档

文档介绍

文档介绍:C# 基础知识 1. 静态成员和非静态成员的区别? 和 static readonly 区别? 是什么意思? 是什么意思? 修饰符起什么作用? 修饰符是干什么的? 和 overload 的区别? 8. 什么是索引指示器? 修饰符是起什么作用? 关键字的含义? 11. 可以使用抽象函数重写基类中的虚函数吗? 12. 密封类可以有虚函数吗? 13. 什么是属性访问器? 可以和 virtual 一起使用吗?可以和 override 一起使用吗? 15. 接口可以包含哪些成员? 16. 类和结构的区别? 17. 接口的多继承会带来哪些问题? 18. 抽象类和接口的区别? 19. 别名指示符是什么? 20. 如何手工释放资源? 是什么? 和 String 的区别? 和 implicit 的含义? 有什么用? 25. 什么是反射? 1. 静态成员和非静态成员的区别? 答: 静态变量使用 static 修饰符进行声明, 在类被实例化时创建, 通过类进行访问不带有 static 修饰符声明的变量称做非静态变量, 在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一静态变量都是同一个值, 同一个类的不同实例的同一非静态变量可以是不同的值静态函数的实现里不能使用非静态成员, 如非静态变量、非静态函数等示例: using System; using ; using ; namespace Example01 { class Program { class Class1 { public static String staticStr = "Class"; public String notstaticStr = "Obj"; } static void Main(string[] args) { // 静态变量通过类进行访问, 该类所有实例的同一静态变量都是同一个值 ("Class1''s staticStr: {0}", ); Class1 tmpObj1 = new Class1(); = "tmpObj1"; Class1 tmpObj2 = new Class1(); = "tmpObj2"; // 非静态变量通过对象进行访问, 不同对象的同一非静态变量可以有不同的值 ("tmpObj1''s notstaticStr: {0}", ); ("tmpObj2''s notstaticStr: {0}", ); (); }}} 结果: Class1''s staticStr: Class tmpObj1''s notstaticStr: tmpObj1 tmpObj2''s notstaticStr: tmpObj2 和 static readonly 区别? 答: const 用 const 修饰符声明的成员叫常量,是在编译期初始化并嵌入到客户端程序 static readonly 用 static readonly 修饰符声明的成员依然是变量,只不过具有和常量类似的使用方法: 通过类进行访问、初始化后不可以修改。但与常量不同的是这种变量是在运行期初始化示例: 测试类: using System; using ; using ; namespace Example02Lib { public class Class1 { public const String strConst = "Const"; public static readonly String strStaticReadonly = "StaticReadonly"; //public const String strConst = "Const Changed"; //public static readonly String strStaticReadonly = "StaticReadonly Changed"