【文件属性】:
文件名称: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)
网友评论
- 不错,很基础
- 不错 正想研究这种基础知识