私はこの記事から取った機能を持っています。
private string GenerateTransactionCode()
{
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random();
var result = new string(
Enumerable.Repeat(chars, 8)
.Select(s => s[random.Next(s.Length)])
.ToArray());
return result;
}
ランダムではなく、に基づいて英数字を選択するように変更したいと思いますDateTime.UtcNow.Ticks
。こうすれば繰り返さなくなります。ミリ秒の長さに応じて、結果の TransactionCode の文字を増やす必要があると思いますか? 結果の TransactionCode の長さを一定にしたいと思います。うまくいけば、8文字以下です。
例:ティックがたまたま135
(実際の生活ではそれ以上になる)場合、結果のコードは0ベースかどうかに応じてACE
またはになりますBDF
(そうかどうかは気にしません)。