我正在尝试为.Net core 1.0重新定位可移植的C#库。

一旦我获得了该语言的CultureInfo对象(通过调用方设置的委托),就曾经做过这样的事情来获取另一种语言的字符串比较器:

IComparer<T> comparer = (IComparer<T>)StringComparer.Create(cultureInfo, caseInsensitive);


.Net Core当前似乎仅通过StringComparer.CurrentCulture之类的属性来支持当前的区域性。

有没有一种方法可以获取给定语言或文化的字符串比较器?

这对于同时使用多种语言的应用程序(例如用于语言学习的应用程序)很重要。

最佳答案

docs


  每次调用CurrentCulture属性get访问器都会返回一个新的StringComparer对象,如以下代码所示。


因此,您可以将Thread.CurrentThread.CurrentCulture设置为所需的区域性,然后使用StringComparer来获取该区域性的StringComparer.CurrentCulture,然后将Thread.CurrentThread.CurrentCulture设置为下一个所需的区域性,然后再获取另一个StringComparer ...等。

关于c# - 如何在.Net Core中为不同的语言创建StringComparer?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37801425/

10-09 01:18