Игнорировать дело и сравнить в С#

Как преобразовать строку в верхний регистр перед выполнением сравнения или можно сравнить строку, игнорируя случай

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

Ответ 2

Сравнение строк, нечувствительных к регистру, выполняется следующим образом в С#:

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

Остерегайтесь! этот код зависит от культуры; есть еще несколько доступных опций, см. http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx.

Ответ 3

Ну, вы можете использовать метод String.Equals(String,StringComparison). Просто передайте его StringComparison.InvariantCultureIgnoreCase или StringComparison.CurrentCultureIgnoreCase в зависимости от ваших целей...

Ответ 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) 

Ответ 5

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

Ответ 6

string.Compare(string1, string2, true) == 0 будет сравнивать, если две строки равны, игнорируя случай

Ответ 7

Используйте StringComparison.CurrentCultureIgnoreCase:

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

Ответ 8

String.Compare(str1, str2, true);

Ответ 9

Точно так же:

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

Третий параметр true сообщает string.Compare игнорировать регистр.

Ответ 10

Я бы лично сравнил с надлежащей культурой, как и все здесь, но что-то не предлагалось:

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