この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

StringComparison 列挙型

 

公開日: 2016年7月

String.Compare メソッドと String.Equals メソッドの特定のオーバーロードで使用するカルチャ、大文字と小文字の区別、および並べ替え規則を指定します。

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum StringComparison

メンバー名説明
CurrentCulture

カルチャに依存した並べ替え規則と、現在のカルチャを使用して、文字列を比較します。

CurrentCultureIgnoreCase

カルチャに依存した並べ替え規則と現在のカルチャを使用し、比較する文字列の大文字と小文字を区別しないで文字列を比較します。

InvariantCulture

カルチャに依存した並べ替え規則とインバリアント カルチャを使用して文字列を比較します。

InvariantCultureIgnoreCase

カルチャに依存した並べ替え規則とインバリアント カルチャを使用し、比較する文字列の大文字と小文字を区別しないで文字列を比較します。

Ordinal

序数 (バイナリ) の並べ替え規則を使用して文字列を比較します。

OrdinalIgnoreCase

序数 (バイナリ) の並べ替え規則を使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。

StringComparison列挙体を使用して、文字列の比較が、現在のカルチャまたはインバリアント カルチャ、word または序数の並べ替え規則を使用し、大文字または小文字にするかどうかを指定します。

System_CAPS_important重要

などの文字列比較メソッドを呼び出す場合String.CompareString.Equals、またはString.IndexOf、型のパラメーターを含むオーバー ロードを常に呼び出す必要がありますStringComparisonメソッドを実行する比較の種類を指定できるようにします。 詳細については、「.NET Framework で文字列を使用するためのベスト プラクティス」を参照してください。

単語の並べ替え規則を使用する操作では、カルチャに依存した比較が行われます。そのような比較では、英数字ではない特定の Unicode 文字に特殊な重みが割り当てられている場合があります。
単語の並べ替え規則と、ハイフン、特定のカルチャの規則を使用して ("-")"coop"と"co-op"、並べ替え済みリストで互いの横に表示されるように割り当てられている重みは非常に小さい場合があります。

序数の並べ替え規則を使用する操作は、それぞれの数値 (Unicode コード ポイント) に基づく比較を実行Char文字列にします。 序数に基づく比較が高速なカルチャに依存しません。 Unicode 文字 (U +) で始まる文字列の並べ替えに序数の並べ替え規則を使用するときに文字列 U +0 xxxx が前に来る文字列 U +0 yyyy xxxx の値が数値で小さい yyyy より場合。

比較の詳細については、次を参照してください。、System.Stringクラスの「解説します。 カルチャに関する詳細については、次を参照してください。、System.Globalization.CultureInfoクラスの「解説します。 序数に基づくまたはカルチャに依存した比較規則またはインバリアント カルチャの規則を使用する場合のガイドラインについては、次を参照してください。.NET Framework で文字列を使用するためのベスト プラクティスです。

次の例では、単語の 4 つのセットを比較の各メンバーを使用して、StringComparison列挙します。 比較では、英語 (米国)、Sami、Nothern (スウェーデン) カルチャの規則を使用します。 文字列"encyclopædia"および「百科事典」がサーミ語 (スウェーデン) カルチャではなく、EN-US カルチャで該当するショートカットと見なされますに注意してください。

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "en-US", "se-SE" };
      String[] strings1 = { "case",  "encyclopædia",  
                            "encyclopædia", "Archæology" };
      String[] strings2 = { "Case", "encyclopaedia", 
                            "encyclopedia" , "ARCHÆOLOGY" };
      StringComparison[] comparisons = (StringComparison[]) Enum.GetValues(typeof(StringComparison));

      foreach (var cultureName in cultureNames) {
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName);
         Console.WriteLine("Current Culture: {0}", CultureInfo.CurrentCulture.Name);
         for (int ctr = 0; ctr <= strings1.GetUpperBound(0); ctr++) {
            foreach (var comparison in comparisons) 
               Console.WriteLine("   {0} = {1} ({2}): {3}", strings1[ctr],
                                 strings2[ctr], comparison, 
                                 String.Equals(strings1[ctr], strings2[ctr], comparison));

            Console.WriteLine();         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Current Culture: en-US
//       case = Case (CurrentCulture): False
//       case = Case (CurrentCultureIgnoreCase): True
//       case = Case (InvariantCulture): False
//       case = Case (InvariantCultureIgnoreCase): True
//       case = Case (Ordinal): False
//       case = Case (OrdinalIgnoreCase): True
//    
//       encyclopædia = encyclopaedia (CurrentCulture): True
//       encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (InvariantCulture): True
//       encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (Ordinal): False
//       encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//    
//       encyclopædia = encyclopedia (CurrentCulture): False
//       encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopedia (InvariantCulture): False
//       encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
//       encyclopædia = encyclopedia (Ordinal): False
//       encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//    
//       Archæology = ARCHÆOLOGY (CurrentCulture): False
//       Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (InvariantCulture): False
//       Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (Ordinal): False
//       Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True
//    
//    
//    Current Culture: se-SE
//       case = Case (CurrentCulture): False
//       case = Case (CurrentCultureIgnoreCase): True
//       case = Case (InvariantCulture): False
//       case = Case (InvariantCultureIgnoreCase): True
//       case = Case (Ordinal): False
//       case = Case (OrdinalIgnoreCase): True
//    
//       encyclopædia = encyclopaedia (CurrentCulture): False
//       encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopaedia (InvariantCulture): True
//       encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (Ordinal): False
//       encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//    
//       encyclopædia = encyclopedia (CurrentCulture): False
//       encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopedia (InvariantCulture): False
//       encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
//       encyclopædia = encyclopedia (Ordinal): False
//       encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//    
//       Archæology = ARCHÆOLOGY (CurrentCulture): False
//       Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (InvariantCulture): False
//       Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (Ordinal): False
//       Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
2.0 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: