C# static readonly 修饰符初始化变量
2024-09-30 21:11:07
同事问了一个问题,readonly和static啥区别?
我就写了个demo运行了下:
/***
* 验证初始化次数:static只初始化一次,无论多少用户访问,在内存中只有一份
* readonly每个线程初始化一次
* 如果是接口中使用service方法,最好使用static 或者static readonly修饰符
* 验证修饰符初始化顺序:static readonly-->static-->无修饰符-->readonly
* */
public object obj = new object(); //③
public readonly object readonlyObj = new object(); //④
public static readonly object staictReadonlyObj = new object(); //①
public static object staictObj = new object(); //② // GET api/values
public IEnumerable<string> Get()
{
var o = obj.GetType();
var o0 = readonlyObj.GetType();
var o1 = staictReadonlyObj.GetType();
var o2 = staictObj.GetType(); return new string[] { "value1", "value2" };
}
验证了在多线程的情况下属性初始化次数,以及初始化的顺序。
最新文章
- HTTP狀態碼
- leetcode 239 Sliding Window Maximum
- c#中的结构与枚举
- yum使用详细
- visualSVN server库迁移(转)
- WPF实现摄像头镜像翻转
- sql server dateadd()
- MAC本上appium连接真机
- Error in library(DESeq2) : 不存在叫‘DESeq2’这个名字的程辑包
- x64类型的程序逆向思考
- jdbc,mybatis,hibernate各自优缺点及区别
- java 日期与时间类
- 使用 keepalived 设置虚拟 IP 环境(转载)
- linux 下启动tomca慢问题
- Qt5_Oracle
- XSS、CSRF与验证码等等
- Beta阶段——4
- [转]Python的getattr(),setattr(),delattr(),hasattr()
- Python DB
- wind10优化