エクスポート (0) 印刷
すべて展開
展開 最小化
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

StringComparison 列挙体

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

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

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

メンバー名説明
XNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCurrentCultureカルチャに依存した並べ替え規則および現在のカルチャを使用して文字列を比較します。
XNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCurrentCultureIgnoreCase カルチャに依存した並べ替え規則と現在のカルチャを使用し、比較する文字列の大文字と小文字を区別しないで文字列を比較します。
XNA Framework によるサポートInvariantCulture カルチャに依存した並べ替え規則とインバリアント カルチャを使用して文字列を比較します。
XNA Framework によるサポートInvariantCultureIgnoreCase カルチャに依存した並べ替え規則とインバリアント カルチャを使用し、比較する文字列の大文字と小文字を区別しないで文字列を比較します。
XNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETOrdinal 序数の並べ替え規則を使用して文字列を比較します。
XNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETOrdinalIgnoreCase 序数の並べ替え規則を使用し、比較する文字列の大文字と小文字を区別しないで文字列を比較します。

StringComparison 列挙体は、文字列比較が現在のカルチャとインバリアント カルチャのどちらを使用するか、単語の並べ替え規則と序数の並べ替え規則のどちらを使用するか、および大文字と小文字を区別するかどうかを指定するために使用されます。

重要 : 重要

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

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

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

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

次の例では StringComparison の列挙体の各メンバーを使用して 4 組の単語を比較します。比較は、英語 (米国) とサーミ語 (スウェーデンの上部) カルチャの規則を使用します。 文字列「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


.NET Framework

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

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

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

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

Windows ストア アプリ用 .NET

サポート対象 : Windows 8

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