正如标题所示,我对.NET中静态类何时加载到内存中感兴趣,特别是在C#中。 我认为它类似于Java中的this question和关于静态方法的this question,即第一次使用时加载。 此外,一旦它在内存中,它会一直保留在那里直到应用程序终止,还是当垃圾收集器来清理使用它的类时就被清理了?
我意识到静态类使用的少量内存在拥有8GB + RAM标准计算机的世界中并不是非常重要,但了解内部情况总是很有趣。
编辑:
答案让我想添加更多内容来澄清一个例子。 如果我理解正确,在下面的示例中,Contraption.SomeString将首先放入内存,然后是Contraption.AnotherString,第一次通过循环。
我意识到静态类使用的少量内存在拥有8GB + RAM标准计算机的世界中并不是非常重要,但了解内部情况总是很有趣。
编辑:
答案让我想添加更多内容来澄清一个例子。 如果我理解正确,在下面的示例中,Contraption.SomeString将首先放入内存,然后是Contraption.AnotherString,第一次通过循环。
public static class Contraption
{
public static string SomeString = "Some String";
public static string AnotherString = "Another String";
}
public class Processor
{
public void Process(List<SomeClass> items)
{
foreach(var item in items)
{
if(item.Name == Contraption.SomeString)
{
//do something
}
if(item.Name == Contraption.AnotherString)
{
//do something
}
}
}
}