当我在类中声明一个静态变量然后多次实例化该类时会发生什么?
静态变量是否会在所有实例之间共享?或者是否会为每个类实例创建多个静态变量?
答案 0 :(得分:8)
C#中的static
字段在所有类型的实例中共享。无论您实例化类型多少次,每个AppDomain
只会有一个静态字段实例(每个进程通常只有一个AppDomain
)。
一个例外是泛型类型。当您在泛型类型中有静态字段时,每个泛型实例化将有一个静态字段实例。
class Container<T> {
internal static T Field;
}
现在Container<int>
和Container<string>
将有Field