zoukankan      html  css  js  c++  java
  • C# dynamic关键字的使用方法

    dynamic和var的区别:
    1.var声明一个局部变量只是一种简化语法,它要求编译器根据一个表达式推断具体的数据类型。
    2.var只能用于声明方法内部的局部变量,而dynamic可用于局部变量,字段,参数。
    3.表达式不能转型为var,但能转型为dynamic。
    4.必须显式初始化用var声明的变量,但无需初始化用dynam声明的变量。
    使用dynamic应注意:
    在运行时,Microsoft.Csharp.dll必须加载到AppDomain中,这回损害程序性能,并增大内错耗用,Microsoft.Csharp.dll还会加载System.dll和System.Core.dll,如果使用dynamic与COM组件互操作,还会加载System.Dynamic.dll,payload代码执行时会在运行时生成动态代码。这些代码会进入一个驻留在内存的程序集,称为“匿名寄宿的DynamicMethods程序集”(Anonymously Hosted DynamicMethods Assembly).
    当一个特性的调用使用具有相同运行时类型的dynamic实参发出了大量调用时,这个代码可以增强调度的性能。
    虽然dynamic能简化语法,但是动态求值功能产生的额外开销也是不容忽视的,毕竟加载所有这些程序集以及额外的内存消耗,会对性能产生额外的影响。如果程序中只是一两个地方需要动态行为,或许传统的做法会更加高效。

  • 相关阅读:
    软件工程课件
    团队博客作业Week1
    IntelliJ IDEA下Git的配置与使用(命令行下)
    Java语言程序设计课程学期总结
    JDBC访问数据库的一些小技巧
    Conference-Web Search and Data Mining
    线程停止与volatile
    班会-2016-2017第2学期
    Java第11次实验(JDBC数据库编程)
    Python-Jupyter Notebook使用技巧
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4998059.html
Copyright © 2011-2022 走看看