c# 3.0 中的匿名类型(var)与 c# 4.0 中的动态类型(dynamic)之间的真正区别是什么?
最佳答案
匿名类型是为您创建的真实的、编译器生成的类型。这样做的好处是编译器可以稍后将这种类型重新用于需要它的其他操作,因为它是 POCO。
我对动态类型的理解是它们是后期绑定(bind)的,这意味着 CLR(或 DLR)将在执行时评估对象,然后使用鸭子类型来允许或禁止成员访问对象。
所以我想区别在于匿名类型是编译器可以看到但您只能使用的真正 POCO,而动态类型是后期绑定(bind)的动态对象。
关于c# - 匿名类型与动态类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/391529/