相关疑难解决方法(0)

C#静态构造函数线程是否安全?

换句话说,这个Singleton实现线程是否安全:

public class Singleton
{
    private static Singleton instance;

    private Singleton() { }

    static Singleton()
    {
        instance = new Singleton();
    }

    public static Singleton Instance
    {
        get { return instance; }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# singleton multithreading

242
推荐指数
6
解决办法
6万
查看次数

为什么我们需要静态构造函数?

首先,我得到了一个答案:静态构造函数的用途是什么?,但我想在这方面得到答案.

这是我的C#静态类:

public static class BasicClass
{
    static int i = 0;
    static BasicClass()
    {
        i = 10;
    }

    public static void Temp()
    {
        //some code
    }


    public static void Temp1()
    {
        //some code
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里我有一个静态变量i,在第一次调用时初始化为10.所以基本上它可能是静态构造函数的目的,但是如果不通过初始化声明静态构造函数来实现同样的事情,那么static int i = 10 它只能被初始化一次.

那为什么我们需要一个静态构造函数呢?或者我在理解静态构造函数的概念或使用方面完全错误了吗?

c# asp.net static constructor

9
推荐指数
2
解决办法
8224
查看次数

多次抛出相同的异常实例

面对生成一个异常实例然后可能多次抛出该异常的代码。

private readonly Exception exceptionInstance = new Exception("message");
Run Code Online (Sandbox Code Playgroud)

多次抛出相同的异常实例是否正确?

c# exception

4
推荐指数
1
解决办法
1196
查看次数