动态,变量​​和对象之间的区别

时间:2018-10-25 05:15:41

标签: c#

有人可以通过一些编程示例来帮助我解决C#中Dynamic,Var和Object之间的确切区别。我在网上搜索,但并没有确切的区别。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

我是C#编译器

  • 当我看到 object dynamic 时,我通常对自己说,这些家伙可以是任何东西,最好忽略所有甜蜜的编译器问题,并让开发人员自己照顾自己,让我的朋友C#运行时在以后解决这些问题

  • 当我看到 var 时,我知道开发人员正在依靠我来确定类型,所以我应该做我的工作:)。


void Main()
{
    dynamic person = new { name = "name" };
    var age = person.age; // throw when you run the code
    var name = person.name; // I'm cool with it

    object isThisLove;
    isThisLove.IsReal(); //compiler will throw
    var isLoveReal = (((Love)isThisLove).IsReal()); // sweet, compiler will ignore, but runtime will throw if love is not Love
}   

public class Love
{
    public bool IsReal() { return false; }
}

答案 1 :(得分:0)

有些区别。希望这对您有帮助。

For better understand please refer this