网站大量收购独家精品文档,联系QQ:2885784924

c基础常见面试题.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c基础常见面试题

C#基础概念二十五问 答: 静态变量使用 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; ? 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; } } 结果 strConst : Const strStaticReadonly : StaticReadonly Changed 3.extern 是什么意思? 答: extern 修饰符用于声明由程序集外部实现的成员函数 经常用于系统API函数的调用(通过 DllImport )。注意,和DllImport一起使用时要加上 static 修饰符 也可以用于对于同一程序集不同版本组件的调用(用 extern 声明别名) 不能与 abstract 修饰符同时使用 示例: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; ? namespace Example03 { class Program { //注意DllImport是一个Attribute Property,在System.Runtime.InteropServices命名空间中定义 //extern与Dl

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档