-
C#教程之c# 常量和字段
它的值是在编译时确定的。编译器将常量保存到程序集的元数据中,所有只能是编译器认识的基元类型作为常量。
常量被看成类的一部分,是看出静态成员。
代码引用一个常量符号,会在定义常量的元数据中查找该符号,提取之,并嵌入代码,生成的IL中是值本身。
在c#中使用的是const关键字。
字段:已一种数据成员,可以容纳任何的数据类型,不仅仅想常量一样只能存储基元类型。
CLR支持类型字段和实例字段
类型字段:用于容纳字段数据的动态内存是在类型对象中分配的,
而类对象是在类型加载到一个AppDomain中创建的。
通常是在引用该类型的任何方法首次进行JIT编译的时候。
实例字段:用于容纳字段数据的动态内存是在构造类型的实例时分配的。
由于字段存储在动态内存中,所以它们的值在运行时才获取,字段解决了常量存在版本控制的问题。
CLR支持readonly 字段 和 read/write字段
read、write字段可以在代码中多次改变。
readonly字段只能在构造器方法中写入,也就是在对象首次创建的时候。
编译器和验证机制会确保readonly字段不会在构造器以外的地方写入。
在c#中允许内联初始化语法来初始化类的字段。c#实际是在构造器中对字段进行初始化的,内联代码只是语法糖。
常量被看成类的一部分,是看出静态成员。
代码引用一个常量符号,会在定义常量的元数据中查找该符号,提取之,并嵌入代码,生成的IL中是值本身。
在c#中使用的是const关键字。
字段:已一种数据成员,可以容纳任何的数据类型,不仅仅想常量一样只能存储基元类型。
CLR支持类型字段和实例字段
类型字段:用于容纳字段数据的动态内存是在类型对象中分配的,
而类对象是在类型加载到一个AppDomain中创建的。
通常是在引用该类型的任何方法首次进行JIT编译的时候。
实例字段:用于容纳字段数据的动态内存是在构造类型的实例时分配的。
由于字段存储在动态内存中,所以它们的值在运行时才获取,字段解决了常量存在版本控制的问题。
CLR支持readonly 字段 和 read/write字段
read、write字段可以在代码中多次改变。
readonly字段只能在构造器方法中写入,也就是在对象首次创建的时候。
编译器和验证机制会确保readonly字段不会在构造器以外的地方写入。
在c#中允许内联初始化语法来初始化类的字段。c#实际是在构造器中对字段进行初始化的,内联代码只是语法糖。
最新更新
Objective-C语法之代码块(block)的使用
VB.NET eBook
Add-in and Automation Development In VB.NET 2003 (F
Add-in and Automation Development In VB.NET 2003 (8
Add-in and Automation Development in VB.NET 2003 (6
Add-in and Automation Development In VB.NET 2003 (5
AddIn Automation Development In VB.NET 2003 (4)
AddIn And Automation Development In VB.NET 2003 (2)
Addin and Automation Development In VB.NET 2003 (3)
AddIn And Automation Development In VB.NET 2003 (1)
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
武装你的WEBAPI-OData入门
武装你的WEBAPI-OData便捷查询
武装你的WEBAPI-OData分页查询
武装你的WEBAPI-OData资源更新Delta
5. 武装你的WEBAPI-OData使用Endpoint 05-09
武装你的WEBAPI-OData之API版本管理
武装你的WEBAPI-OData常见问题
武装你的WEBAPI-OData聚合查询
OData WebAPI实践-OData与EDM
OData WebAPI实践-Non-EDM模式