.net core / standard string.ToLower() 没有文化参数
.net core / standard string.ToLower() has no culture parameter
在 .net fx 中我可以做到
myString.ToLower(frenchCulture);
但是在查看 .net core 或 .net standard 时,不再有可以传递的文化参数。只有 string.ToLower()
和 string.ToLowerInvariant()
是否应该忽略文化?但是当字符串的文化不是当前文化时,不应该有问题吗?
任何提示这背后的原因是什么?
当我有了不变文化的想法时,我可以使用 ToLowerInvariant()
。
但是我必须在非当前文化中使用 string.ToLower()
的用例呢?
看起来功能是有的,只是方式更迂回而已。而不是:
string output = input.ToLower(culture);
使用
string output = culture.TextInfo.ToLower(input);
另请注意,netstandard2.0 中已添加重载。 implementation 基本上就是上面的代码。
在 .net fx 中我可以做到
myString.ToLower(frenchCulture);
但是在查看 .net core 或 .net standard 时,不再有可以传递的文化参数。只有 string.ToLower()
和 string.ToLowerInvariant()
是否应该忽略文化?但是当字符串的文化不是当前文化时,不应该有问题吗?
任何提示这背后的原因是什么?
当我有了不变文化的想法时,我可以使用 ToLowerInvariant()
。
但是我必须在非当前文化中使用 string.ToLower()
的用例呢?
看起来功能是有的,只是方式更迂回而已。而不是:
string output = input.ToLower(culture);
使用
string output = culture.TextInfo.ToLower(input);
另请注意,netstandard2.0 中已添加重载。 implementation 基本上就是上面的代码。