弱类型dynamic与var

dynamic与var都可代替任何类型

var关键字是C# 3.0开始新增的特性,称为推断类型。

  1、必须在定义时初始化

  2、一但初始化完成就不能再给变量赋与初始化值类型不同的值

  3、var要求是局部变量

  4、使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样

dynamic是FrameWork4.0的新特性。

  1、dynamic的出现让C#具有了弱语言类型的特性。

  2、编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性。

 class Program
{
static void Main(string[] args)
{
dynamic dyna = new DynamicSample(); //此处的dynamic可换成var,var能智能识别出dyna的实际类型,用dynamic不能智能识别但也不会报错.
int num = dyna.Add(, );
Console.WriteLine(num);
Console.ReadKey();
}
}
public class DynamicSample
{
public string Name { get; set; } public int Add(int a, int b)
{
return a + b;
}
}
上一篇:Mysql宽字节注入(转)


下一篇:洛谷P1169 棋盘制作(悬线法)