Я прочитал csv-файл и колонки разделены запятой. В некоторых культурах разделитель является точкой, и по этой причине я решил изменить текущую культуру на «en-US», которые используют запятую для разделителя. Но после того, как я закончил с некоторой операцией, мне нужно вернуться в культуру, которую использовал пользователь. Но я не могу.Как можно вернуться к текущей культуре, которую пользователь использовал на ПК
Как вернуть текущую культуру, которую пользователь использовал?
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
// do something
CultureInfo ci = CultureInfo.CurrentCulture;
var a = ci.DisplayName;
ли продолжать быть "EN-US"
Я не понимаю ваш вопрос четко. Вы хотите вернуть '' en-US "' как 'string'? Просто верните 'ci.Name'? –
Вероятно, вы не хотите изменять текущую культуру только для чтения csv-файла, так как это может иметь нежелательные побочные эффекты. Вы должны изменить свой код, который обращается к csv, чтобы использовать его собственную культуруinfo и использовать перегрузки метода, которые принимают IFormatProvider. –
Я сохраняю культуру до смены и теперь хорошо работает. С двумя строками код работает таким образом, что я хочу. Спасибо за помощь Дмитрию Быченко и Диону В. –