动态是隐式的还是显式的类型分配?如何在运行时在下面的示例上下文中为动态变量分配内存。
动态影响类型安全,因为C#是类型安全语言。
public class Program
{
static void Main(string[] args)
{
dynamic dynamicVar = 10;
dynamicVar = true;
dynamicVar = "hello world";
// compiles fine
int index = dynamicVar.IndexOf("world");
}
}
发布于 2013-09-12 07:30:49
就CLR而言,dynamic
类型的变量实际上是object
类型的变量。它只影响编译器,编译器使使用dynamic
表达式的任何操作都经过执行时绑定。
绑定过程本身将使用额外的局部变量等(查看ILDASM、Reflector或类似的内容,您将被交错),但就dynamicVar
本身而言,您得到的代码就像有一个object
变量--对int
和bool
值进行适当的装箱。
https://stackoverflow.com/questions/18758096
复制相似问题