-4

当我在一个类中声明一个静态变量然后多次实例化该类时会发生什么?

静态变量会在所有实例之间共享吗?还是会为每个类实例创建多个静态变量?

4

1 回答 1

8

C# 中的static字段在一个类型的所有实例之间共享。无论您实例化该类型多少次,每个静态字段都只有一个实例AppDomain(通常AppDomain每个进程一个)。

一个例外是泛型类型。当您在泛型类型中有一个静态字段时,每个泛型实例化都会有一个静态字段实例。

class Container<T> {
  internal static T Field;
}

现在Container<int>Container<string>将会有不同的实例Field

于 2013-03-10T00:59:19.000 回答