この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

String.Compare メソッド (String, String, CultureInfo, CompareOptions)

指定した 2 つの String オブジェクトを比較し、2 つの文字列の互いのリレーションシップを並べ替え順序で示す整数を返します。比較時に、指定した比較オプションと、比較に影響を及ぼすカルチャ固有の情報を使用します。

名前空間:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public static int Compare(
	string strA,
	string strB,
	CultureInfo culture,
	CompareOptions options
)

パラメーター

strA
型 : System.String
比較する最初の文字列。
strB
型 : System.String
比較する 2 番目の文字列。
culture
型 : System.Globalization.CultureInfo
カルチャ固有の比較情報を提供するカルチャ。
options
型 : System.Globalization.CompareOptions
比較の実行時に使用するオプション (大文字と小文字の違いや記号を無視するなど)。

戻り値

型 : System.Int32
strAstrB との構文上の関係を示す 32 ビット符号付き整数。次の表を参照してください。

value

状態

0 より小さい値

strAstrB より小さい。

0

strAstrB が等しい。

0 を超える値

strAstrB より大きくなっています。

例外条件
ArgumentException

optionsCompareOptions 値ではありません。

ArgumentNullException

culturenull なので、

比較では、culture パラメーターを使用して、大文字と小文字の規則や個々の文字のアルファベット順など、カルチャ固有の情報を取得します。 たとえば、あるカルチャでは、1 つの文字として扱う特定の文字の組み合わせ、大文字と小文字を特定の方法で比較するかどうか、前後の文字に基づいた文字の並べ替えの基準などが規定されている可能性があります。

Caution メモ注意

Compare(String, String, CultureInfo, CompareOptions) メソッドは、主にアルファベット順の並べ替え操作に使用するようにデザインされています。 このメソッド呼び出しは、2 つの文字列が等価かどうかを判断するため (つまり、戻り値がゼロかどうかをテストするため) に使用しないでください。 2 つの文字列が等価かどうかを判断するには、Equals メソッドを呼び出してください。

比較を options パラメーターで指定することもできます。このパラメーターは、CompareOptions 列挙体の 1 つ以上のメンバーで構成されます。 ただし、これはカルチャに依存した文字列比較を実行するためのメソッドのため、CompareOptions.Ordinal 値および CompareOptions.OrdinalIgnoreCase 値は無効です。

比較対象値の一方または両方を null にできます。 定義上、String.Empty を含むすべての文字列は null 参照よりも大きく、また 2 つの null 参照は互いに等しくなります。

比較は、等しくない文字が検出されるか、両方の文字列すべてが比較された時点で終了します。 ただし、2 つの文字列の比較で、一方の文字列の末尾までは等しく、もう一方の文字列に残りの文字がある場合、もう一方の文字列の方が大きいと見なされます。

呼び出し時の注意

文字セットには無視できる文字が含まれています。これらの文字は、言語またはカルチャに依存した比較を実行する際には考慮されません。 Compare(String, String, CultureInfo, CompareOptions) のメソッドは、カルチャに依存した比較を実行するときに、このような文字は考慮されません。 比較の無視できる文字を識別するには、options パラメーターの CompareOptions.Ordinal または CompareOptions.OrdinalIgnoreCase の値を指定します。

次の例では、2 つの文字列を 3 とおりの方法 (en-US カルチャの言語比較を使用する、en-US カルチャの大文字と小文字を区別する言語比較を使用する、序数に基づく比較を使用する) で比較します。 3 とおりの比較方法によって、3 種類の異なる結果がどのように生成されるかを示します。


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string string1 = "brother";
      string string2 = "Brother";
      string relation;
      int result;

      // Cultural (linguistic) comparison.
      result = String.Compare(string1, string2, new CultureInfo("en-US"), 
                              CompareOptions.None);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      Console.WriteLine("'{0}' {1} '{2}'.", 
                        string1, relation, string2);

      // Cultural (linguistic) case-insensitive comparison.
      result = String.Compare(string1, string2, new CultureInfo("en-US"), 
                              CompareOptions.IgnoreCase);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      Console.WriteLine("'{0}' {1} '{2}'.", 
                        string1, relation, string2);

       // Culture-insensitive ordinal comparison.
      result = String.CompareOrdinal(string1, string2);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      Console.WriteLine("'{0}' {1} '{2}'.", 
                        string1, relation, string2);
   }
}
// The example produces the following output:
//    'brother' comes before 'Brother'.   
//    'brother' is the same as 'Brother'.
//    'brother' comes after 'Brother'.


.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5 SP1、3.0 SP2、2.0 SP2

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

汎用性のあるクラス ライブラリ

サポート対象 : 汎用性のあるクラス ライブラリ

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

コミュニティの追加

表示:
© 2015 Microsoft