c基础常见面试题.docVIP

  • 42
  • 0
  • 约3.4万字
  • 约 38页
  • 2015-09-25 发布于重庆
  • 举报
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)

1亿VIP精品文档

相关文档