如何在整个应用程序中实现全局整数/计数器?

时间:2016-09-09 08:18:45

标签: c#

这对其他人来说可能是显而易见的,我已经与它搏斗了几个小时但没有用。

如何在整个应用程序中实现全局整数/计数器?

这只是我需要的一个int,它只会增加。 计数器将从不同类中的几个不同方法异步调用,这些方法都有助于webApi的相同JSon输出。 有许多小块数据需要附加一个唯一的ID。

希望这是有道理的。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

public static Global
{
    private static int _counter = 0;
    private static readonly object _lockObject = new object();
    public static void Increment()
    {
        lock (_lockObject) {
            _counter++;
        }
    }
    public static int Counter
    {
        get
        {
            lock (lockObject) {
                return _counter;
            }
        }
    }
}

答案 1 :(得分:1)

public static Global 
{
    private static int counter = 0;
    public static int Counter
    {
         get
         {
             return Interlocked.Incremenet(ref counter);
         {
    }
}