忽略大小写并在C#中进行比较

如何在执行比较之前将字符串转换为大写,或者是否可以通过忽略大小写来比较字符串

if (Convert.ToString(txt_SecAns.Text.Trim()).ToUpper() == Convert.ToString(hidden_secans.Value).ToUpper()) 

用这个:

 var result = String.Compare("AA", "aa", StringComparison.OrdinalIgnoreCase); 

String.Compare方法(String,String,Boolean)

不区分大小写的字符串比较在C#中完成:

 string.Equals("stringa", "stringb", StringComparison.CurrentCultureIgnoreCase) 

小心! 这段代码依赖于文化; 还有其他几个选项,请参阅http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx 。

好吧,你可以使用String.Equals(String,StringComparison)方法。 只需传递StringComparison.InvariantCultureIgnoreCaseStringComparison.CurrentCultureIgnoreCase具体取决于您的目标……

来自MSDN :

String.Compare方法(String,String,Boolean):

 public static int Compare( string strA, string strB, bool ignoreCase ) 

在你的情况下:

 if( String.Compare(txt_SecAns.Text.Trim(), hidden_secans.Value, true) == 0) 
 txt_SecAns.Trim().Compare(hidden_secans.Trim(), StringComparison.CurrentCultureIgnoreCase) 

string.Compare(string1,string2,true)== 0将比较两个字符串是否相等而忽略大小写

使用StringComparison.CurrentCultureIgnoreCase

 if (txt_SecAns.Text.Trim().Equals(hidden_secans.Value.ToString(), StringComparison.CurrentCultureIgnoreCase)) 
 String.Compare(str1, str2, true); 

像这样:

 if (string.Compare(txt_SecAns.Text.Trim(), hidden_secans.Value.ToString(), true) == 0) { // DoSomething } 

第三个参数true告诉string.Compare忽略大小写。

我会像这里的每个人一样比较适当的文化,但是没有提出一些建议:

 public bool CompareStrings(string stringA, string StringB) { return stringA.ToLower() == stringB.ToLower(); }