自定义 .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 库或现有库来处理序列格式?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Json.Net 序列化时指定自定义 DateTime 格式

自定义序列化设置

使用JSON.NET实现对象属性的自定义化格式

使用 JSON.NET 反序列化自定义 null 处理

Json.net自定义字典格式

字定义JSON序列化支持datetime格式序列化