<分区>
当您通过 paypal 付款时,您会收到付款编号(如 PAY-8YW005202J095132TLI5UVIE
),我认为这个编号是唯一的。
问题是我如何生成这个唯一的 id,
我在系统上工作,这个系统将数据库中的所有交易保存到交易表中,我想生成交易号
我为这笔付款建立结构
(year part)(month part)(day in the month part)(*)
(*) 部分的问题我想为每一天生成随机且唯一的数字。
我使用 C#.Net 开发 EF6
最佳答案
您可以使用 Guid
(全局唯一标识符)。试试这个:
var randomPart = Guid.NewGuid().ToString();
此外,您还可以控制它的呈现方式,如下所示:
var p = Guid.NewGuid().ToString("N")
.Substring(0, 5); // note: trimming chars from guid make it less unique
这将创建一个没有破折号且只有 5 个字符的字符串。
编辑:另一个选项是 base64
字符串。你可以尝试这样的事情:
var buffer = new byte[42]; // length is up to you
var random = RNGCryptoServiceProvider.Create();
random.GetBytes(buffer);
var randomPart = Convert.ToBase64String(buffer);
关于c# - 如何生成唯一的付款号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48467006/
相关文章:
c# - 如何在 winform 中使用 UI 托管控制台 exe
c# - 我可以以编程方式启动 Windows Management Instrumentation 服务吗?
C#:如何将 BITMAP 字节数组转换为 JPEG 格式?
c# - DbMigrator.Update 导致数据库 'name' 已存在
.net - 如何使用asp .net web api、 Entity Framework 和json(代码优先)来回带关系的对象?
c# - 有人可以用简单的英语解释 ConfigurationSection 和 ConfigurationElement 之间的区别吗?