2012-01-09 1 views
1

Я думаю, что библиотека уже существует для этого, но мне нужно, чтобы мои пользователи создали формат нумерации для своих документов.Пользовательская библиотека .Net или существующая библиотека для обработки форматирования последовательности?

Например, у нас есть RFI, и у пользователя есть определенный формат, в котором должна быть последовательность нумерации. Типичный номер RFI выглядит так для их системы: R0000100. Следующий RFI в строке будет R0000101.

Прежде чем я приступил к созданию механизма форматирования для таких чисел, что-то уже существует, что может вместить это?

Обновление: Мне не удалось сохранить изменения в этом вопросе. В любом случае, я также хочу дать пользователям возможность создавать свои собственные форматы. Таким образом, у меня может быть форма, в которой они могут вводить формат: R ####### И также позволяют им указывать начальное целое число: в случае 100. Кроме того, я могу позволить им указать, как они хотят для увеличения. может быть, только на 100 лет. Таким образом, следующий номер может быть R0000200. Я знаю, это может показаться смешным, но вы никогда не знаете. Вот почему я спросил, существует ли что-то подобное.

+2

Вы ищете _library_ для увеличения значений? В самом деле? – Oded

+0

Где хранятся эти последовательности? – Oded

+3

Вы хотите отформатировать номер? например 'string.Format (" R {0: 0000000} ", 100);' – yas4891

ответ

5

Если вы сохраняете ценность и формат разделены, вам не нужна библиотека или такая вещь.

Номера будут простыми, скажем, целыми числами i, то есть 100, 101, 102, которые вы управляете/сохраняете, но считаете нужным. Часть форматирования будет просто связана с R + i.ToString("0000000") или если вы хотите иметь формат в виде строкового литерала string.Format("R{0:0000000}", i).

Я знаю, это может быть только пример, но по вашему вопросу варианты форматирования, которые .NET предоставляет из коробки, кажется достаточным.

+0

+1; просто то, что я думал – yas4891

+1

@ yas4891 Спасибо, и жаль, что заставило его выглядеть как захват, но я не видел вашего комментария, пока я не отправил свой ответ (возможно, SO должен обеспечить «добавлен новый комментарий [reload]», например это для ответов ;-) –

+1

ха-ха. Не переживай дружище. Ваш ответ довольно приличный. – yas4891

1

Приращение значений поля идентификатора чаще всего обрабатывается в базе данных в стиле RDBMS. Это связано с несколькими преимуществами, такими как встроенная обработка параллелизма. Если вы хотите сгенерировать значения самостоятельно, простой класс, чтобы получить последнее значение и приращение на единицу, было бы очень легко создать. Сделайте его потокобезопасным, чтобы не получить дубликатов или пробелов, и вам будет хорошо идти.