文件名称:c# object, dynamic, var的区别用例
文件大小:26KB
文件格式:ZIP
更新时间:2015-12-23 03:54:46
c# object, dynamic, var 区别
// object, dynamic, var的区别用例 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { public string param = "param"; static void Main(string[] args) { object obj; obj = new Program(); dynamic dyn; dyn = new Program(); //var v; v = new Program(); // 错误写法。正确写法如下: var v = new Program(); // 定义的同时必须指明初始化类型。 // 等价于:Program v = new Program();编译器自动识别。 //string info1 = obj.param; // 错误写法。正确写法如下: string info1 = ((Program)obj).param; // 必须显示告诉编译器,object是什么类型。 string info2 = dyn.param + new Program() + 1; // 正确。但.param不能智能感知。 // 编译通过是因为与dynamic相关的所有类型操作,编译器全部放行。 // 很显然,运行时必然通过“自动反射”进行检查。 string info3 = v.param; Console.WriteLine(info1); Console.WriteLine(info2); Console.WriteLine(info3); Console.ReadKey(); } } }
【文件预览】:
ConsoleApplication1
----ConsoleApplication1()
--------bin()
--------Program.cs(1KB)
--------obj()
--------ConsoleApplication1.csproj(2KB)
--------Program.cs.orig(228B)
--------Properties()
----ConsoleApplication1.suo(9KB)
----ConsoleApplication1.sln(899B)
----readme.txt(1KB)