eee755,牛过中文网,喇叭天线
同事问了一个问题,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" }; }
验证了在多线程的情况下属性初始化次数,以及初始化的顺序。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论