我们可以说var关键字是编译时多态性,Dynamic是运行时多态性吗?
var a=10; (Compile time Polymorphism)
dynamic a=10; (Dynamic is Run Time Polymorphism)
a="XYZ"; (Dynamic is Run Time Polymorphism)
我不认为var
和dynamic
可以与多态性准确地联系起来。多态性是关于操作和行为,而不是数据类型或绑定。
CCD_ 3在编译时求值,而CCD_。不过你是对的。
为了更好地理解,请查看What';dynamic(C#4(和var之间的区别是什么?
还有一个建议。只要稍微读一点书,搜索一下就会回答你的问题。
更多描述多态性是关于一个可以采取多种形式或表现不同的实体。作为对象,可以是父类实例,也可以是子类实例。现在var
不能单独采用多种类型。它的类型只是根据分配给它的对象的类型来推断的。所以从技术上讲,var
不是编译时多态性。相反,它取决于指定给它的对象。因此,var
和dynamic
可能有助于实现或证明多态性,但它们本身并不是多态性的例子。
var
和dynamic
与多态性无关。多态性意味着您可以在需要派生程度较低的类型时提供派生程度较高的类型的实例。CCD_ 11和CCD_;编译器在给定的情况下(在dynamic
的情况下(计算出你的意思或需要什么类型。苹果和桔子。