c# - 为什么 TextInfo.ToTitleCase 在字母全部为大写的字符串上不能正常工作?

标签 c# string cultureinfo title-case

你能看看我的 sample 吗?

enter image description here

此结果来自以下示例:

var str = @"VIENNA IS A VERY BEAUTIFUL CAPITAL CITY.";
var title = new CultureInfo("en-US", false).TextInfo.ToTitleCase(str.ToLower());
MessageBox.Show(title);

因为程序的语言是土耳其语。我想提请你注意点字母 I。但我们都知道正确的方式应该是这样的:

Vienna Is A Very Beautiful Capital City.

怎样才能得到真正的结果?

最佳答案

string.ToLower 有一个采用 CultureInfo 的重载。 ( Link )

尝试类似的东西

var culture = new CultureInfo("en-US", false);
var title = culture.TextInfo.ToTitleCase(str.ToLower(culture));

关于c# - 为什么 TextInfo.ToTitleCase 在字母全部为大写的字符串上不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67737292/

相关文章:

python - 无法连接 'str' 和 'list' 对象列表包含整数

c# - 如何返回用户在 PC 中使用的当前文化

c# - 与 .NET 之间的二进制协议(protocol)(C# 语法)

java - 在这种情况下自签名证书更好吗?

c++ - C++中string和char[]类型的区别

java - 如何将 SHA1 输出转换为十六进制字符串?

c# - 我们如何将 .NET CustomCulture 映射到资源文件

c# - 格式未在法国文化中应用

c# - 带有伪选择器(和引导图标)的 ASP.NET Core asp-fallback 标记帮助器

javascript - 如何使用ajax调用另一个库中的cs函数