文化敏感的字符串排序

在我的 .NET c# 代码中,我想对一些字符串进行排序 - 具体来说,目前我的应用程序支持两种语言环境,即英语和中文(将来可能会更多)。我想将名称列表返回给客户端。

在将字符串列表返回给客户端之前,我想对字符串进行排序。

我基本上需要做 Javascript 为“localeCompare”做的事情。这是可以在 C# 代码上完成的事情吗?我发现了一些与 CultureInfo 相关的东西,但在我看来我需要动态设置该值。


犯罪嫌疑人X
浏览 84回答 1
1回答

拉莫斯之舞

有一个Sort超载,接受IComparer, 可以用于文化感知。您的客户端在请求 API 时应通过Accept-Language 请求标头传递所需的语言,或者它可以是已登录用户的声明或设置。这是 API 端控制器中的一个示例:var requestLanguage = "zh-Hans"; // pass the correct one namesList.Sort(StringComparer.Create(new CultureInfo(requestLanguage), true));该true参数表示它区分大小写。您可以在 MSDN 上找到 cultureinfo。关于字符串比较器的文档。
打开App,查看更多内容
随时随地看视频慕课网APP