自定义 .Net 库或现有库来处理序列格式?
Posted
技术标签:
【中文标题】自定义 .Net 库或现有库来处理序列格式?【英文标题】:Custom .Net library or existing library to handle sequence formatting? 【发布时间】:2012-01-09 14:40:23 【问题描述】:我认为已经存在一个库,但我需要允许我的用户为他们的文档创建编号格式。
例如,假设我们有一个 RFI,而用户有一个特定格式的编号序列需要采用。对于他们的系统,一个典型的 RFI 编号如下所示:R0000100。下一个 RFI 将是 R0000101。
在我着手为这些数字创建格式化引擎之前,是否已经存在可以适应这种情况的东西?
更新: 我未能保存对此问题的编辑。无论如何,我也想让用户能够创建自己的格式。所以,我可能有一个表单,他们可以输入格式:R####### 并且还允许他们指定起始整数:在 100 的情况下。另外,我可能希望允许他们指定他们想要的方式增加。也许只有100s。所以下一个数字可能是 R0000200。我知道这听起来很荒谬,但你永远不会知道。这就是为什么我问这样的东西是否已经存在。
【问题讨论】:
您正在寻找一个库来增加值?真的吗? 这些序列存储在哪里? 您想格式化数字吗?喜欢string.Format("R0:0000000", 100);
@Oded,不是我要问的。我在问格式化
【参考方案1】:
如果您将值和格式分开,您将不需要库或类似的东西。
这些数字很简单,比如整数 i
,即 100、101、102,您可以按照自己认为合适的方式管理/存储。格式化部分只是R + i.ToString("0000000")
的问题,或者如果您想将格式设置为字符串文字string.Format("R0:0000000", i)
。
我知道,这可能只是一个示例,但就您的问题而言,.NET 提供的开箱即用的格式选项似乎就足够了。
【讨论】:
@yas4891 谢谢,很抱歉让它看起来像劫持,但在我发布答案之前我没有看到你的评论(也许应该提供“添加了新评论 [重新加载] " 选项,就像它对答案所做的那样;-) 哈哈。别担心朋友。你的回答很不错【参考方案2】:身份字段值的递增通常在 RDBMS 样式的数据库中处理。这带来了一些好处,例如内置的并发处理。如果您想自己生成值,则可以很容易地创建一个简单的类来获取最后发布的值并递增一。使其成为线程安全的,这样您就不会得到任何重复或间隙,并且一切顺利。
【讨论】:
以上是关于自定义 .Net 库或现有库来处理序列格式?的主要内容,如果未能解决你的问题,请参考以下文章