当前位置:  编程技术>.net/c#/asp.net

c# 常量和字段

    来源: 互联网  发布时间:2014-10-15

    本文导语:  它的值是在编译时确定的。编译器将常量保存到程序集的元数据中,所有只能是编译器认识的基元类型作为常量。 常量被看成类的一部分,是看出静态成员。 代码引用一个常量符号,会在定义常量的元数据中查找该符号,提...

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php 5.5.14数据对象(PDO)介绍及PDO的预定义常量介绍
  • PHP入门之常量简介和系统常量
  • C语言中常量指针与指针常量区别浅析
  • 在jdk的文档中能否查找到一些编程常量,如在properties类中的getporperties中常量??
  • ThinkPHP中的系统常量和预定义常量集合
  • java能不定义常量
  • 请教各位高手一个简单的问题----关于常量????
  • 深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)
  • PHP的魔术常量__METHOD__简介
  • 请问JAVA如何定义常量实行多个JAVA程序共用?
  • 在java里如何定义常量?
  • getaddrinfo 中的参数不能使用常量替换?
  • 关于驱动层常量参数的使用、、、????
  • 一个常量(3.2)不能作为float型使用么?
  • HTML教程 iis7站长之家
  • icmp.c中的HZ常量在哪定义
  • PHP面向对象程序设计之类常量用法实例
  • 欢迎大家讨论,java中我专门使用一个类来定义其他类中要用到的常量,这种作法有哪些利弊???
  • 如何用变量来组合成常量,大家看看这个例子
  • C++类中的常量介绍
  • 如何用sed awk 提取宏定义的常量值?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3