在我的.NET c#代码中,我想对一些字符串进行排序-具体来说,目前我的应用程序支持英文和中文两种语言环境(将来可能会更多)。而且我想将名称列表返回给客户端。
在将字符串列表返回给客户端之前,我想对字符串进行排序。
我基本上需要做Javascript为“ localeCompare”所做的事情。那可以在C#代码上完成吗?我发现了一些与CultureInfo有关的东西,但在我看来,我需要动态设置该值。
答案 0 :(得分:2)
有一个Sort
重载,接受一个IComparer
,可以用来识别文化。
您的客户端在请求API时应通过Accept-Language request-header传递所需的语言,否则可能是已登录用户的声明或设置。
这是您的API内控制器示例:
var requestLanguage = "zh-Hans"; // pass the correct one
namesList.Sort(StringComparer.Create(new CultureInfo(requestLanguage), true));
true
参数表示区分大小写。您可以找到cultureinfo on MSDN。