ASP.NET MVC 4 と Entity Framework 5 を使用して、バグとソフトウェアの変更を追跡するためのチケット システムを開発しています。可能な番号のセットから一意の番号を選択する方法が必要です。私の考えでは、可能な番号のセットを作成し、このセットから番号をマークして使用し、サポート チケットに割り当てることを考えています。
選択可能なすべてのチケット番号を生成するためのこのコードがありますが、すべてのチケット番号が同じ長さになるように先行ゼロが必要です。
public static class GenerateNumber
{
private static IEnumerable<int> GenerateNumbers(int count)
{
return Enumerable.Range(0, count);
}
public static IEnumerable<string> GenerateTicketNumbers(int count)
{
return GenerateNumbers(count).Select(n => "TN" + n.ToString());
}
}
の出力を次のようにしたい
IEnumerable<string> ticketNumbers = GenerateNumber.GenerateTicketNumbers(Int32.MaxValue);
:
TN0000000001
。
.
.
TN2147483647
Int32.MaxValue
バグが多すぎることを意味するほど大きなものは必要ないことを願っています (笑)。利用可能な数の制限について申し訳ありませんが、安全を確保したかっただけです。おそらく、解決後にチケット番号を再利用する方法を使用できます。ただし、後でドキュメントを参照する際にあいまいさにつながる可能性があるため、再利用についてどのように感じているかはわかりません。
このセットのサイズを考えると、これは一意のチケット番号を取得するための最も効率的な方法ですか?