2010-09-27 5 views
0

Есть ли способ использовать Int32.ToString("<some string format specifier>") с использованием более чем 1 спецификатора? В частности, я хочу форматировать int в шестнадцатеричном формате, но заставляю строку быть 8-битной длиной, добавив 0 в пустые места. Например, я хочу проанализировать число 1234 в десятичной строке на строку «000004D2».Строка формата с использованием нескольких спецификаций

Способ, которым я хотел это сделать, - объединить спецификаторы «X» и «00000000», но я не могу найти примеров объединения спецификаторов. Мне нужно создать свой собственный FormatProvider?

Мне нужно сделать это, потому что я пишу средство просмотра, которое отображает массив байтов, который поддерживает разные пакеты и форматы. Например, отобразите массив как массив из 4-байтовых целых чисел в шестнадцатеричном или 2-байтовых целых числах в подписанном отображении. Очень похоже на средство просмотра памяти в VS

ответ

4

Для этого конкретного примера вы можете просто использовать «X8» в качестве спецификатора формата. Я не знаю о более общем случае, но если у вас есть какие-то другие специфические требования, вероятно, стоит расспросить об этом отдельно.

+0

достаточно хорошо для моих нужд, спасибо – eladidan

Смежные вопросы