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

时间:2011-11-23 13:48:33

标签: c# .net string-comparison

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

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

10 个答案:

答案 0 :(得分:29)

使用它:

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

String.Compare Method (String, String, Boolean)

答案 1 :(得分:15)

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

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

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

答案 2 :(得分:5)

好吧,您可以使用String.Equals(String,StringComparison)方法。只需根据您的目标传递StringComparison.InvariantCultureIgnoreCaseStringComparison.CurrentCultureIgnoreCase ......

答案 3 :(得分:4)

来自MSDN

String.Compare Method(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) 

答案 4 :(得分:3)

txt_SecAns.Trim().Compare(hidden_secans.Trim(), StringComparison.CurrentCultureIgnoreCase)

答案 5 :(得分:3)

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

答案 6 :(得分:3)

使用StringComparison.CurrentCultureIgnoreCase

if (txt_SecAns.Text.Trim().Equals(hidden_secans.Value.ToString(), StringComparison.CurrentCultureIgnoreCase))

答案 7 :(得分:3)

String.Compare(str1, str2, true);

答案 8 :(得分:2)

就像这样:

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

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

答案 9 :(得分:1)

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

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