Nói chung, bạn sẽ muốn sử dụng InvariantCulture nếu chuỗi bạn đang tạo được duy trì theo cách độc lập với văn hóa của người dùng hiện tại (ví dụ: trong sổ đăng ký hoặc trong tệp).
Bạn sẽ muốn sử dụng CurrentCulture cho các chuỗi sẽ được trình bày trong giao diện người dùng cho người dùng hiện tại (biểu mẫu, báo cáo).
Lỗi tinh tế có thể phát sinh nếu bạn sử dụng CurrentCulture nơi bạn nên sử dụng InvariantCulture: các lỗi chỉ xuất hiện khi bạn có nhiều người dùng với các nền văn hóa khác nhau truy cập cùng một mục nhập hoặc tệp hoặc người dùng thay đổi văn bản mặc định của mình.
Chỉ định rõ ràng CurrentCulture (mặc định nếu đối số IFormatProvider bị bỏ qua), về cơ bản là tài liệu chứng minh rằng bạn đã xem xét ở trên và chuỗi được tạo nên sử dụng văn hóa của người dùng hiện tại. Đó là lý do tại sao FxCop khuyên bạn nên chỉ định đối số IFormatProvider.
Cách xác định IFormatProvider tùy chỉnh - http://www.csharp-examples.net/custom-iformatprovider/ –
Điều gì xảy ra nếu đối tượng là một chuỗi, có cách nào văn hóa tạo nên sự khác biệt không? (Trái ngược với định dạng một cái gì đó như DateTime) –