dynamic动态类型的理解

mac2025-01-25  42

动态类型的特点: 出现时机:.Net4.0之后引入新的关键字dynamic,用来定义动态类型 使用特点:调用动态类型时不做"编译"检查,而在程序运行时查找,如果成员存在且参数正确,就正常运行 Asp.net Mvc 中的ViewBag,就是一个动态的类 if(ViewBag.Student!=nuu) { foreach(model.Studen st in ViewBag.Student) { // 不需要类型转换 } } class Program { static void Main(string[] args) { dynamic ST = new Student() { SName="Tom",StudentId=100023}; ST.Pinfo();// 此方法存在,可以正常运行 dynamic TT = new Teacher() { Tid=456634,TName="李老师"}; TT.Pinfo();// 此方法不存在,因为是动态类在编译的时候,不会出错,但是在程序运行的时候会报错 Console.ReadKey(); } } class Student { public int StudentId { get; set; } public string SName { get; set; } public void Pinfo() { Console.WriteLine("姓名:{0},编号:{1}",SName,StudentId); } } class Teacher { public int Tid { get; set; } public string TName { get; set; } } 动态类型dynamic总结 1:可用于类型字段,方法参数,方法返回值,泛型类型参数 2:可以赋值或,被赋予任何类型,并且不需要类型转换 var 关键字总结 1:只能用于局部变量,不能用于字段,方法......... 2:变量类型在编译时就确定了
最新回复(0)