CompareInfoとは? わかりやすく解説

CompareInfo クラス

カルチャごとに異なる文字列比較行うための一連のメソッドを実装します。

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

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class CompareInfo
    Implements IDeserializationCallback
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class CompareInfo : IDeserializationCallback
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class CompareInfo : IDeserializationCallback
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class CompareInfo implements IDeserializationCallback
SerializableAttribute 
ComVisibleAttribute(true) 
public class CompareInfo implements IDeserializationCallback
解説解説

CultureInfo クラスには、このクラスのインスタンスである CompareInfo プロパティがあります。String.Compare は、CultureInfo.CompareInfo の情報を使用して、文字列を比較します。

ほとんどのクラスとは異なり、CompareInfo は、遅延バインディングでアクセスできるようにするため、パブリック コンストラクタではなく GetCompareInfo メソッドを用意しています。

あるカルチャの CompareInfo を作成するには、CultureInfo.CompareInfo プロパティを使用するか、GetCompareInfo メソッドを使用します。

無視される検索値
セキュリティについての考慮事項
使用例使用例

CultureInfo オブジェクトに関連付けられている CompareInfo オブジェクトが文字列比較にどのような影響を与えるかを次のコード例に示します。

Imports System
Imports System.Text
Imports System.Globalization

NotInheritable Public Class
 App
    Shared Sub Main(ByVal
 args() As String) 
        Dim sign() As String
 = {"<", "=", ">"}
        
        ' The code below demonstrates how strings compare 
        ' differently for different cultures.
        Dim s1 As String
 = "Coté"
        Dim s2 As String
 = "coté"
        Dim s3 As String
 = "côte"
        
        ' Set sort order of strings for French in France.
        Dim ci As CompareInfo = New
 CultureInfo("fr-FR").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.",
 ci.Name, ci.LCID)
        
        ' Display the result using fr-FR Compare of Coté = coté.
      
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
 _
                          s1, s2, sign((ci.Compare(s1, s2, CompareOptions.IgnoreCase)
 + 1)))
        
        ' Display the result using fr-FR Compare of coté > côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
 _
                          s2, s3, sign((ci.Compare(s2, s3, CompareOptions.None) +
 1)))
        
        ' Set sort order of strings for Japanese as spoken in Japan.
        ci = New CultureInfo("ja-JP").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.",
 ci.Name, ci.LCID)
        
        ' Display the result using ja-JP Compare of coté < côte.
 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}",
 _
                          s2, s3, sign((ci.Compare(s2, s3) + 1)))
    End Sub 'Main
End Class 'App

' This code produces the following output.
' 
' The LCID for fr-FR is 1036.
' fr-FR Compare: Coté = coté
' fr-FR Compare: coté > côte
' The LCID for ja-JP is 1041.
' ja-JP Compare: coté < côte
using System;
using System.Text;
using System.Globalization;

public sealed class App
{
    static void Main(string[]
 args)
    {
        String[] sign = new String[] { "<", "=",
 ">" };

        // The code below demonstrates how strings compare 
        // differently for different cultures.
        String s1 = "Coté", s2 = "coté", s3 = "côte";

        // Set sort order of strings for French in France.
        CompareInfo ci = new CultureInfo("fr-FR").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.",
 ci.Name, ci.LCID);
      
        // Display the result using fr-FR Compare of Coté = coté.
      
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s1, s2, sign[ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1]);

        // Display the result using fr-FR Compare of coté >
 côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3, CompareOptions.None) + 1]);

        // Set sort order of strings for Japanese as spoken in Japan.
        ci = new CultureInfo("ja-JP").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.",
 ci.Name, ci.LCID);

        // Display the result using ja-JP Compare of coté <
 côte. 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3) + 1]);
    }
}

// This code produces the following output.
// 
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
using namespace System;
using namespace System::Text;
using namespace System::Globalization;

int main()
{
    array<String^>^ sign = gcnew array<String^> { "<", "=",
 ">" };

    // The code below demonstrates how strings compare
    // differently for different cultures.
    String^ s1 = "Coté"; 
    String^ s2 = "coté";
    String^ s3 = "côte";

    // Set sort order of strings for French in France.
    CompareInfo^ ci = (gcnew CultureInfo("fr-FR"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.",
 ci->Name, ci->LCID);

    // Display the result using fr-FR Compare of Coté = coté.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s1, s2, sign[ci->Compare(s1, s2, CompareOptions::IgnoreCase) + 1]);

    // Display the result using fr-FR Compare of coté > côte.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3, CompareOptions::None) + 1]);

    // Set sort order of strings for Japanese as spoken in Japan.
    ci = (gcnew CultureInfo("ja-JP"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.",
 ci->Name, ci->LCID);

    // Display the result using ja-JP Compare of coté < côte.
    Console::WriteLine("ja-JP Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3) + 1]);
}

// This code produces the following output.
//
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
継承階層継承階層
System.Object
  System.Globalization.CompareInfo
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

CompareInfo プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ Name この CompareInfo による並べ替え操作に使用されるカルチャの名前を取得します。
参照参照

関連項目

CompareInfo クラス
System.Globalization 名前空間

CompareInfo メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Compare オーバーロードされます。 2 つの文字列を比較します。
パブリック メソッド Equals オーバーロードされます。 オーバーライドされます。 指定のオブジェクトが、現在のCompareInfo オブジェクトと等しいかどうかを判断します。
パブリック メソッド GetCompareInfo オーバーロードされます。 CompareInfo クラスの新しいインスタンスを初期化します。
パブリック メソッド GetHashCode オーバーライドされます。 現在の CompareInfo のハッシュ関数として機能し、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造に使用されます。
パブリック メソッド GetSortKey オーバーロードされます。 文字列の SortKey オブジェクトを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IndexOf オーバーロードされます。 文字列または部分文字列内にある値のうち、最初に出現する値の、0 から始まるインデックス番号を返します。
パブリック メソッド IsPrefix オーバーロードされます。 文字列が特定のプリフィックスで始まるかどうかを判断します。
パブリック メソッド IsSortable オーバーロードされます。 指定した Unicode 文字または文字列の並べ替えが可能かどうかを示します。
パブリック メソッド IsSuffix オーバーロードされます。 文字列が特定のサフィックスで終わるかどうかを判断します。
パブリック メソッド LastIndexOf オーバーロードされます。 文字列または部分文字列内にある値のうち、最後に出現する値の、0 から始まるインデックス番号を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString オーバーライドされます。 現在の CompareInfo を表す文字列を返します。
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.IDeserializationCallback.OnDeserialization オブジェクト グラフ全体が逆シリアル化された時点で実行します。
参照参照

関連項目

CompareInfo クラス
System.Globalization 名前空間

CompareInfo メンバ

カルチャごとに異なる文字列比較行うための一連のメソッドを実装します。

CompareInfo データ型で公開されるメンバを以下の表に示します。


パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ Name この CompareInfo による並べ替え操作に使用されるカルチャの名前を取得します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Compare オーバーロードされます。 2 つの文字列を比較します。
パブリック メソッド Equals オーバーロードされます。 オーバーライドされます。 指定のオブジェクトが、現在のCompareInfo オブジェクトと等しいかどうかを判断します。
パブリック メソッド GetCompareInfo オーバーロードされます。 CompareInfo クラスの新しいインスタンスを初期化します。
パブリック メソッド GetHashCode オーバーライドされます。 現在の CompareInfo のハッシュ関数として機能し、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造に使用されます。
パブリック メソッド GetSortKey オーバーロードされます。 文字列の SortKey オブジェクトを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IndexOf オーバーロードされます。 文字列または部分文字列内にある値のうち、最初に出現する値の、0 から始まるインデックス番号を返します。
パブリック メソッド IsPrefix オーバーロードされます。 文字列が特定のプリフィックスで始まるかどうかを判断します。
パブリック メソッド IsSortable オーバーロードされます。 指定した Unicode 文字または文字列の並べ替えが可能かどうかを示します。
パブリック メソッド IsSuffix オーバーロードされます。 文字列が特定のサフィックスで終わるかどうかを判断します。
パブリック メソッド LastIndexOf オーバーロードされます。 文字列または部分文字列内にある値のうち、最後に出現する値の、0 から始まるインデックス番号を返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString オーバーライドされます。 現在の CompareInfo を表す文字列を返します。
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.IDeserializationCallback.OnDeserialization オブジェクト グラフ全体が逆シリアル化された時点で実行します。
参照参照

関連項目

CompareInfo クラス
System.Globalization 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「CompareInfo」の関連用語

CompareInfoのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CompareInfoのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS