程序员面试必备—C#基础概念25问及代码实例.docVIP

程序员面试必备—C#基础概念25问及代码实例.doc

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了。这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题: 1.静态成员和非静态成员的区别? 2.const 和 static readonly 区别? 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.类和结构的区别? 17.接口的多继承会带来哪些问题? 18.抽象类和接口的区别? 19.别名指示符是什么? 20.如何手工释放资源? 21.P/Invoke是什么? 22.StringBuilder 和 String 的区别? 23.explicit 和 implicit 的含义? 24.params 有什么用? 25.什么是反射? 以下是我做的一份参考答案(C# 语言范畴之内),如果有不准确、不全面的,欢迎各位朋友指正! ? 1.静态成员和非静态成员的区别? 答: 静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问 不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问 一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值 静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等 示例: using System; using System.Collections.Generic; using System.Text; ? namespace Example01 { class Program { class Class1 { public static String staticStr = Class; public String notstaticStr = Obj; } static void Main(string[] args) { //静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值 Console.WriteLine(Class1s staticStr: {0}, Class1.staticStr); ? Class1 tmpObj1 = new Class1(); tmpObj1.notstaticStr = tmpObj1; Class1 tmpObj2 = new Class1(); tmpObj2.notstaticStr = tmpObj2; ? //非静态变量通过对象进行访问,不同对象的同一非静态变量可以有不同的值 Console.WriteLine(tmpObj1s notstaticStr: {0}, tmpObj1.notstaticStr); Console.WriteLine(tmpObj2s notstaticStr: {0}, tmpObj2.notstaticStr); ? Console.ReadLine(); } } } 结果: Class1s staticStr: Class tmpObj1s notstaticStr: tmpObj1 tmpObj2s notstaticStr: tmpObj2 2.const 和 static readonly 区别? 答: const 用 const 修饰符声明的成员叫常量,是在编译期初始化并嵌入到客户端程序 static readonly 用 static readonly 修饰符声明的成员依然是变量,只不过具有和常量类似的使用方法:通过类进行访问、初始化后不可以修改。但与常量不同的是这种变量是在运行期初始化 示例: 测试类: using System; using System.Collections.Generic; using System.Text

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档