MonoTouch比较字符串

问题描述:

我有一个应用程序列出了很多语言。在应用程序中,我比较语言名称。MonoTouch比较字符串

当我比较没有口音的语言名称时,它的工作原理和比较是正确的。

当我比较语言与口音,它不认为他们是平等的。

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

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

+0

哪里是你的实际代码确实比较? – AnthonyLambert 2010-02-02 10:19:18

+1

if(s == l){....}这在Visual Studio中的.NET中起作用,但在MonoTouch中不起作用,这使我认为它可能是一个错误。 – 2010-02-03 13:54:30

下面的比赛,你需要忽略口音:

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