是什么一个C#静态构造和Java静态块之间的实际差异?

它们都必须是无参数。 它们都称为只有一次,当第一次使用的相关的类。

我失去了一些东西,或者是他们同样的事情,只是名称不同?

有帮助吗?

解决方案

它们是等价的,所不同的是C#类只能有一个静态构造(加静态字段初始)。

另外,在C#,一个static构造将应用 beforefieldinit标志

其他提示

它们看起来是相同的,下面的示例所示,是c#静态构造的工作原理相同,Java静态块

protected Singleton()
{
    Console.WriteLine("Singleton constructor");
}

    private static readonly Singleton INSTANCE;

    static Singleton() {
        try {
           INSTANCE = new Singleton();
        }
        catch(Exception e) {
            throw new Exception();
        }
    }

是它们是等价 另一点是Java不支持静态构造,但支持静态块和c#支持静态构造。

它们不是

在C#,有块只能容纳构造。在Java中你能够执行的语句。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top