强制字符串插值始终遵循 CultureInfo.InvariantCulture

Joa*_*rel 9 .net c# cultureinfo

对于从 C#(最新版本)编译的给定 .NET 程序集,我想强制所有字符串插值系统地使用CultureInfo.InvariantCulture而不是使用CultureInfo.CurrentCulture. 有什么办法可以强制执行吗?

Oli*_*bes 11

您可以使用FormattableString.Invariant(FormattableString) 方法

放置一个

using static System.FormattableString; 
Run Code Online (Sandbox Code Playgroud)

在代码顶部,然后使用类似

string interpolated = Invariant($"My interpolated string {3.5:N2}");
Run Code Online (Sandbox Code Playgroud)

有关背景信息,请参阅: