static readonly与const的区别!
2023-06-20日常教程工作原理,程序,表达式
-
C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景。
-
工作原理
-
readonly为运行时常量,程序运行时进行赋值,赋值完成后便无法更改,因此也有人称其为只读变量。
-
const为编译时常量,程序编译时将对常量值进行解析,并将所有常量引用替换为相应值。
-
下面声明两个常量:
-
public static readonly int A = 2;
-
public const int B = 3;
-
下面的表达式:
-
int C = A + B;
-
经过编译后与下面的形式等价:
-
int C = A + 3;
-
可以看到,其中的const常量B被替换成字面量3,而readonly常量A则保持引用方式。
-
声明及初始化
-
readonly常量只能声明为类字段,支持实例类型或静态类型,可以在声明的同时初始化或者在构造函数中进行初始化,初始化完成后便无法更改。
-
const常量除了可以声明为类字段之外,还可以声明为方法中的局部常量,默认为静态类型(无需用static修饰,否则将导致编译错误),但必须在声明的同时完成初始化。
-
-
magento建立子主题
06252023
让我们的孩子创造一个主题,我们所有的自定义主题在Magento 2去这里:
应用程序/设计/开发/ company_name / theme_name
让我们假设,我们公司的名称是公司和我们的主题名称是基本。我们需要创建以下主题目录结...
-
Java8之lambda表达式基本语法
06252023
lambda表达式,即带有参数的表达式,为更清晰地理解lambda表达式,先看如下例子:
(1)
class Student{
private String name;
private Double score;
public Student(String name, Double score) {
t...
-
-
jQuery 使用方法
06152023
jQuery是目前使用最广泛的javascript函数库。据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。对于网页开发者来说,学会jQuery是必要的。因为...
-
WCF4.0安装 NET.TCP启用及常见问题
06132023
WCF4.0安装及NET.TCP启用
WCF 4.0 一般默认安装.net Framework 4.0的时候已经安装。
但如果先装.net framework 4.0,后装IIS,就会出现问题。需要重新注册WCF4.0。
WCF4.0 已经是.net 4.0的一个内部组件,...
-
重做日志及归档日志的工作原理解析
06132023
开门见山,先来看张图(PS:这张图是我从网上找的):
工作原理:
首先lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出switch logfile指...