zoukankan      html  css  js  c++  java
  • 常量和字段


    常量:是一个特殊的符号,有一个从不变化的值。

    它的值是在编译时确定的。编译器将常量保存到程序集的元数据中,所有只能是编译器认识的基元类型作为常量。

    常量被看成类的一部分,是看出静态成员。

    代码引用一个常量符号,会在定义常量的元数据中查找该符号,提取之,并嵌入代码,生成的IL中是值本身。

    在c#中使用的是const关键字。

    字段:已一种数据成员,可以容纳任何的数据类型,不仅仅想常量一样只能存储基元类型。

    CLR支持类型字段和实例字段

    类型字段:用于容纳字段数据的动态内存是在类型对象中分配的,

    而类对象是在类型加载到一个AppDomain中创建的。

    通常是在引用该类型的任何方法首次进行JIT编译的时候。

    实例字段:用于容纳字段数据的动态内存是在构造类型的实例时分配的。

    由于字段存储在动态内存中,所以它们的值在运行时才获取,字段解决了常量存在版本控制的问题。

    CLR支持readonly 字段 和 read/write字段

    read、write字段可以在代码中多次改变。

    readonly字段只能在构造器方法中写入,也就是在对象首次创建的时候。

    编译器和验证机制会确保readonly字段不会在构造器以外的地方写入。

    在c#中允许内联初始化语法来初始化类的字段。c#实际是在构造器中对字段进行初始化的,内联代码只是语法糖。

  • 相关阅读:
    实验任务四
    java语言基础第二讲 课程作业02 总结
    java 计算精度处理
    构建之法阅读笔记02
    周活动总结表
    周进度条
    构建之法阅读笔记01
    四则运算软件需求规格说明书
    四则运算2
    周进度条
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2725892.html
Copyright © 2011-2022 走看看