Выбор между форматированием данных для отображения и хранения

Данные, например числа, значения дат и времени, могут быть соответствующим образом отформатированы для конкретного языка и региональных параметров. Для этого используются такие методы, как String.Format(IFormatProvider, String, Object>), которые в качестве параметра могут использовать объект CultureInfo. Несмотря на то, что форматировать данные можно без явного указания языка и региональных параметров, связанных с текущим потоком, более предсказуемые результаты можно получить, явно указав язык и региональные параметры.

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

  • Для форматирования данных для хранения следует использовать инвариантный язык и региональные параметры, а для изменения формата данных для отображения — заданный пользователем.

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

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

  • Свойства языка и региональных параметров, используемых для отображения данных, могут отличаться от их стандартных значений.

    Несмотря на то, что для отображения данных можно выбрать конкретный язык, свойства пользовательского интерфейса для него должны отличаться от ожидаемых стандартных значений. Это может произойти, если пользователь задает настраиваемый язык и региональные параметры, свойства пользовательского интерфейса которого имеют нестандартные значения, или если пользователь перезаписывает некоторые свойства интерфейса текущего языка с помощью языковых и региональных параметров в панели управления.

  • Международные стандарты, определяющие форматы отображения данных, с течением времени могут меняться.

    Язык и региональные параметры платформы .NET Framework следуют международным стандартам, определяющим формат дат, времени, денежных единиц и т. д. Однако эти стандарты не являются постоянными, и форматы могут измениться. Например, если местное правительство страны вводит новый формат, может появиться соответствующее изменение. Следовательно, при изменении формата отображения данных может потребоваться обновление приложения для использования новых данных языковых и региональных параметров.

См. также

Ссылки

CultureInfo