Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动态、变量和对象之间的区别_C# - Fatal编程技术网

C# 动态、变量和对象之间的区别

C# 动态、变量和对象之间的区别,c#,C#,有没有人能通过一些编程示例来帮助我了解C#中动态、变量和对象之间的确切区别。我在网上搜索过,但没有得到确切的区别 有人能帮我吗?这里有一些区别。希望这对你有帮助 我是C#编译器 当我看到对象和动态时,我通常会对自己说,这些家伙可以是任何东西,最好忽略所有可爱的编译器问题,让开发人员自己来处理,让我的朋友,C#运行时在以后处理这些问题 当我看到var时,我知道开发人员依赖我来确定类型,所以我应该做我的工作:) 所有类型基本上都继承自对象var是一种语法糖,可以让您不用键入完整的类型名。在示例

有没有人能通过一些编程示例来帮助我了解C#中动态、变量和对象之间的确切区别。我在网上搜索过,但没有得到确切的区别


有人能帮我吗?

这里有一些区别。希望这对你有帮助

我是C#编译器

  • 当我看到对象动态时,我通常会对自己说,这些家伙可以是任何东西,最好忽略所有可爱的编译器问题,让开发人员自己来处理,让我的朋友,C#运行时在以后处理这些问题

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



所有类型基本上都继承自
对象
var
是一种语法糖,可以让您不用键入完整的类型名。在示例
var test=“hello”
中,您应该理解编译时要转换为
string
var
dynamic
不会更改它引用的对象的类型,但是在编译类型下对
dynamic
的调用不会执行任何检查。请注意,该帖子中的最佳答案不是被接受的答案,也不是最高分数,而是Selman Genç的答案。@John typo我的朋友,谢谢。谢谢你的回复
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; }
}