Региональные настройки

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

Сохранение данных в XML

При сохранении данных в документы текстового формата, например в xml, для последующего чтения этим же приложением (в отличие от экспорта), на мой взгляд, лучше использовать инвариантую культуру. Это позволит избежать ошибок (FormatException) при чтении документа приложением, работающим в среде с иными региональными настройками.

public void Save()
{
  string tmpfile = string.Empty;
  CultureInfo appCulture = Thread.CurrentThread.CurrentCulture;
  try
  {
    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
    // выполняем сохранение
  }
  finally
  {
    Thread.CurrentThread.CurrentCulture = appCulture;
  }
}
public static Document Load(string fileName)
{
  CultureInfo appCulture = Thread.CurrentThread.CurrentCulture;
  try
  {
    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
    // выполняем загрузку
  }
  finally
  {
    Thread.CurrentThread.CurrentCulture = appCulture;
  }
}

При экспорте данных можно использовать региональные настройки операционной системы.

Настройки операционной системы

В любом случае, не стоит полагаться на «известные» параметры, например запятую как разделитель десятичной дроби для русского языка, поскольку пользователь может изменить настройки операционной системы. Сделано это может быть не из злого умысла, а для обеспечения работы приложений, не поддерживающих работу в разных региональных стандартах и использующих стандарт США.

В приведенном ниже примере в качестве десятичного разделителя установлена точка.

Настройки региональных настроек в опреационной системе Windows