gpt4 book ai didi

c# - 软件支持系统的唯一票号

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:47 29 4
gpt4 key购买 nike

我正在使用 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 这样大的东西因为那意味着我们有太多错误哈哈。我只是想安全一点,而不是对可用号码的限制感到抱歉。也许我们可以使用在解决票号后重新使用票号的方法。但是,我不知道我对重用有何看法,因为它可能会导致以后引用文档时出现歧义。

考虑到这个集合的大小,这是获得唯一票号的最有效方法吗?

最佳答案

在数据库中使用标识列 - 这将为您自动递增。

如果您还需要一个前缀,那么将其存储为一个单独的 varchar 列,然后为了显示目的您可以将其连接起来(如果确实有必要,可以使用必要的前导零)。总有一天,尝试在 varchar 字段中存储一个递增的数字会让您大吃一惊。


作为旁注,为什么前导零?如果我要修票,我想用票号注释我的代码。前导零只是一个痛苦 - 为什么不只使用 TN-123 并让数字根据需要变大?

关于c# - 软件支持系统的唯一票号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19593935/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com