web-dev-qa-db-ja.com

異なる文字列比較方法の違いは何ですか

可能性のある複製:
C#の文字列比較メソッドの違い

.NETには多くの文字列比較方法がありますが、パフォーマンスを考慮してどの方法が最適かを確認したいだけです。

string.Equals()

string.Compare()

string.CompareTo()

string.CompareOrdinal()

string.ReferenceEquals()

if (str1 == str2)
36
Pankaj Agarwal

MSDNからリッピング

string.Equals

このインスタンスと指定されたオブジェクト(これもStringオブジェクトでなければならない)が同じ値を持つかどうかを決定します。

string.Compare 指定された2つのStringオブジェクトを比較し、ソート順での相対的な位置を示す整数を返します。

string.CompareTo このインスタンスを指定されたオブジェクトまたは文字列と比較し、このインスタンスが先行するかどうかを示す整数を返します。または、指定したオブジェクトまたは文字列と同じ順序でソート順で表示されます。

string.CompareOrdinal各文字列内の対応するCharオブジェクトの数値を評価して、指定された2つのStringオブジェクトを比較します。

文字列等価演算子定義済みの文字列等価演算子は次のとおりです。

bool演算子==(string x、string y); bool演算子!=(string x、string y);次のいずれかに該当する場合、2つの文字列値は等しいと見なされます。

どちらの値もnullです。両方の値は、各文字位置に同じ長さと同じ文字を持つ文字列インスタンスへのnull以外の参照です。文字列等価演算子は、文字列参照ではなく文字列値を比較します。 2つの個別の文字列インスタンスにまったく同じ文字シーケンスが含まれている場合、文字列の値は等しくなりますが、参照は異なります。セクション7.9.6で説明されているように、参照型の等価演算子を使用して、文字列値の代わりに文字列参照を比較できます。

25
crypted