我读了一些关于静态类的文章,但我有一些问题:
哪里把静态类放在内存中?
根据C# Static Methods:means that you want the declaration to refer to a single location
如果我在Asp.Net中使用静态类,是否意味着我有一个在所有请求之间共享的位置?
我在文章中读到静态类和静态方法比面向实例的类更快,所以为什么我没有在每个where中看到它们。我的意思是.Net中有一些静态类和方法也存在。
答案 0 :(得分:5)
1
静态类由.NET Framework common自动加载 语言运行时(CLR)包含的程序或命名空间 加载了类。
所以这意味着静态类被加载到内存中。这意味着您不希望在进程启动时将所有类加载到内存中。
2. asp.net中的静态类保存在应用程序状态中,所以是的,您有一个在所有请求之间共享的位置。 静态方法在asp.net中很有用,但前提是你不在方法中使用静态对象,因为你可能会遇到不同线程访问修改相同变量的麻烦。
3.如果你使用了很多静态类,它们将被加载到内存中,这不是你想要的东西。
有关更多信息,请参阅此链接: static variables in asp.net/C#