动态类型的特点:
出现时机:.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:变量类型在编译时就确定了
dynamic动态类型的理解
最新推荐文章于 2024-06-05 19:54:42 发布