MonoTouch 比较字符串

发布于 2024-08-19 18:33:48 字数 679 浏览 3 评论 0原文

我有一个列出多种语言的应用程序。在应用程序中,我比较语言名称。

当我比较没有重音的语言名称时,它有效并且比较是正确的。

当我将语言与口音进行比较时,它并不认为它们是相等的。

在这种情况下,它们不相等(但应该相等)。

Language = "Español";
MonoTouch.Foundation.NSString s = new MonoTouch.Foundation.NSString(Language);
MonoTouch.Foundation.NSString l = new MonoTouch.Foundation.NSString ("Español");

在此示例中,它们是相等的(注意没有重音符号)。

Language = "Deutsch";
MonoTouch.Foundation.NSString s = new MonoTouch.Foundation.NSString(Language);
MonoTouch.Foundation.NSString l = new MonoTouch.Foundation.NSString ("Deutsch");

我尝试过cultureinvariate比较,但无济于事。

我在这里错过了一些基本的东西吗?

我正在使用 MonoTouch 1.4.4

I have an app which lists many languages. In the app I compare language names.

When I compare language names with no accents it works and the compare is true.

When I compare languages with accents, it doesn't think they are equal.

In this case they are NOT equal (but should be).

Language = "Español";
MonoTouch.Foundation.NSString s = new MonoTouch.Foundation.NSString(Language);
MonoTouch.Foundation.NSString l = new MonoTouch.Foundation.NSString ("Español");

In this example they ARE equal (notice no accents).

Language = "Deutsch";
MonoTouch.Foundation.NSString s = new MonoTouch.Foundation.NSString(Language);
MonoTouch.Foundation.NSString l = new MonoTouch.Foundation.NSString ("Deutsch");

I have tried cultureinvariate compares to no avail.

Am I missing something fundamental here?

I am using MonoTouch 1.4.4

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生寂 2024-08-26 18:33:48

当您需要忽略重音时,以下匹配:

var Language = "Español" ;
MonoTouch.Foundation.NSString s = new MonoTouch.Foundation.NSString(Language);
MonoTouch.Foundation.NSString l = new MonoTouch.Foundation.NSString ("Español");

int result = String.Compare(s,l, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace);

the following matches as you require ignoring accents:

var Language = "Español" ;
MonoTouch.Foundation.NSString s = new MonoTouch.Foundation.NSString(Language);
MonoTouch.Foundation.NSString l = new MonoTouch.Foundation.NSString ("Español");

int result = String.Compare(s,l, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文