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