.Net 【基础回顾】对象申明Dynamic和匿名对象

申明对象

有几种申明对象的方式

  • var

  • object

  • dynamic

  • 匿名对象

详细比较这几种申明的对象有什么区别

var

  • var 仅能声明方法内的局部变量

  • var 声明的变量在被赋值后类型即确定下了,后续程序中不能在赋其他类型的值

Object

  • 所有的类型都派生自object. 所以它可以赋值为任何类型

Dynamic

  • c#是强类型语言,编译期间会做类型检查,和object使用相比,不需要做类型转化。

  • dynamic不是在编译时候确定实际类型的, 而是在运行时。

所以下面的代码是能够通过编译的,但是会在运行时报错:

dynamic a = "test";
a++;

匿名对象

创建出来的对象没指定具体类型,lambda表达式经常用到,在接口返回给其他地方使用时也可以特意定义一个model,直接返回一个匿名对象也很方便。

var ob = new {name = "a"};

posted on 2022-07-14 05:29  杏村牧童  阅读(159)  评论(0编辑  收藏  举报