C#で自動採番を管理するクラス

C# コンピュータ
C#

アプリケーション内で重複しない番号を生成するクラスを作ってみました。

public class IdGenerator
{
    private int _currentId = 0;
    private readonly object _lock = new();

    public int NextId()
    {
        lock (_lock)
        {
            return ++_currentId;
        }
    }
}

class Program
{
    static void Main()
    {
        var idGenerator = new IdGenerator();

        Console.WriteLine($"{idGenerator.NextId()}");
        // 1
        Console.WriteLine($"{idGenerator.NextId()}");
        // 2
    }
}

ユニークであることが条件であればGUIDがありますし、永続性を考えるのであればSQLiteなどの自動採番があるので、使い道は限定的。
スレッドセーフにしたつもりですが、未検証。

コメント