美文网首页
var、dynamic、object区别

var、dynamic、object区别

作者: 你五哥 | 来源:发表于2021-06-10 16:25 被阅读0次

    var a1 = 123;
    dynamic a2 = “sjsjf”;
    object a3 = “sjdfkjfs”;

    1.编译器会自动识别是a1,a2,a3是什么类型
    2.对于var来说,a1现在是 int类型 ,这时候把 字符串赋值给a1会报错
    a1 = “sdjfdkj”; 会报错

    3.对于dynamic和object来说, a2和a3是字符串类型,但是如果这时候把一个 int类型赋值给a2、a3并不会报错
    a2 = 123; 正常
    a3 = 345; 正常

    4.这时候给a2和a3调用一个不存在的方法
    a2.text(); a2不会报错(dynamic类型不会报错,因为dynamic是动态任意类型,编译阶段不检查类型)
    a3.text(); a3报错了 (Object类型报错了)

    var:如果没有初始值,可以变成任何类型
    dynamic:动态任意类型,编译阶段不检查类型

    相关文章

      网友评论

          本文标题:var、dynamic、object区别

          本文链接:https://www.haomeiwen.com/subject/zwxpeltx.html