web-dev-qa-db-ja.com

大文字と小文字を無視してC#で比較する

比較を実行する前に文字列を大文字に変換する方法、または大文字と小文字を無視して文字列を比較することは可能ですか

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

これを使って:

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

String.Compareメソッド(String、String、Boolean)

31
Davide Piras

大文字と小文字を区別しない文字列比較は、C#では次のように行われます。

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

要注意!このコードはカルチャに依存します。他にもいくつかの利用可能なオプションがあります。 http://msdn.Microsoft.com/en-us/library/system.stringcomparison.aspx を参照してください。

18
Kolky

さて、String.Equals(String,StringComparison)メソッドを使用できます。渡すだけStringComparison.InvariantCultureIgnoreCaseまたはStringComparison.CurrentCultureIgnoreCase目的に応じて...

5
Dmitry

から [〜#〜] 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) 
4
akoso
txt_SecAns.Trim().Compare(hidden_secans.Trim(), StringComparison.CurrentCultureIgnoreCase)
3
Pike65

string.Compare(string1、string2、true)== 0は、2つの文字列が等しい場合に大文字と小文字を区別せずに比較します

3
JohnathanKong

使用する StringComparison.CurrentCultureIgnoreCase

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

ちょうどこのような:

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

3番目のパラメーターtrueは、大文字と小文字を区別しないようにstring.Compareに指示します。

2
Fischermaen

私はここのみんなのような適切な文化と個人的に比較しますが、何かは提案されていません:

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