C# 动态与变体
C# Dynamic vs. Variant
根据this文章:
it is important to remember that C# is a statically typed language; which leaves no room for variant types
这似乎是正确的...但是 Dynamic 数据类型不违反该规则吗?也许我遗漏了一些我不知道的细微差别,但动态数据类型对我来说似乎是一个真正的变体(如 JavaScript 或 VBA)?
在幕后 dynamic
被编译为 System.Object
并且编译器编写强类型的模式,并在运行时完成大部分调度工作。因此,C#(真正的 CLR)仍然是强类型的,但带有一些星号。
var
C# 中的所有内容都是关于类型推断的,这就是那篇文章所讨论的内容。
根据this文章:
it is important to remember that C# is a statically typed language; which leaves no room for variant types
这似乎是正确的...但是 Dynamic 数据类型不违反该规则吗?也许我遗漏了一些我不知道的细微差别,但动态数据类型对我来说似乎是一个真正的变体(如 JavaScript 或 VBA)?
在幕后 dynamic
被编译为 System.Object
并且编译器编写强类型的模式,并在运行时完成大部分调度工作。因此,C#(真正的 CLR)仍然是强类型的,但带有一些星号。
var
C# 中的所有内容都是关于类型推断的,这就是那篇文章所讨论的内容。