инвариантный объект культуры ToString () - PullRequest
10 голосов
/ 18 сентября 2011

Как я могу вызвать ToString() на объекте и заставить его использовать инвариантную культуру? Существуют перегрузки для ToString() для объектов, которые реализуют IConvertible (например, bool, int, float ..), но что, если рассматриваемый объект не является IConvertible?

Ответы [ 2 ]

15 голосов
/ 18 сентября 2011

Я думаю, IFormattable - соответствующий интерфейс. У него есть метод ToString, который позволяет указать поставщика формата, который может быть культурой.

8 голосов
/ 19 января 2019

Класс System.Convert имеет статическую перегрузку ToString, которая принимает object.

Convert.ToString(obj, CultureInfo.InvariantCulture);

Исходя из моих тестов , это примерно в два раза быстрее, чем string.Format(CultureInfo.InvariantCulture, "{0}", value), и, что более важно, выглядит чище.

...