3

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

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

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

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

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

4

1 回答 1

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);
于 2010-02-02T10:15:06.910 回答