什么是匿名类型?

  • 匿名类型就是由编译器即时创建的一个class,它用来存储一组数据
    • 未命名图片.png
  • 创建匿名类型:new + object 初始化器,并指定属性及其值
  • 使用var关键字来引用匿名类,因为匿名类型没有名字
  • 匿名类型属性的名称可以通过本身就是标识符/以标识符结尾的表达式推断出来
  • 在同一个assembly下声明两个匿名类实例,如果它们的元素名称和类型完全一致,那么他们的基础类型(underlying type)就是一样的
    • 未命名图片.png
  • Equals方法被重写来进行相等性的比较
    • 未命名图片.png
  • 可以创建匿名类型数组
    • image.png
  • 方法不可以返回匿名类型的对象,必须使用dynamic或者object,调用时依赖于动态绑定,并且会损失静态类型的安全性。
  • 匿名类型主要用来写LINQ查询