MonoTouch比较字符串

时间:2010-02-02 00:35:59

标签: unicode string compare xamarin.ios

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

当我比较没有重音符号的语言名称时,它起作用,比较成立。

当我将语言与重音比较时,它认为它们并不相同。

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

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

1 个答案:

答案 0 :(得分:2)

以下匹配,因为您需要忽略重音:

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);