Comparer クラスとは? わかりやすく解説

Comparer クラス

2 つオブジェクト等しかどうか比較します。文字列大文字と小文字区別されます。

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

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 Comparer
    Implements IComparer, ISerializable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class Comparer : IComparer, ISerializable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class Comparer sealed : IComparer,
 ISerializable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class Comparer implements IComparer,
 ISerializable
SerializableAttribute 
ComVisibleAttribute(true) 
public final class Comparer implements IComparer,
 ISerializable
解説解説
使用例使用例

Comparer関連付けられているカルチャに応じてCompare返す値が変わる方法については、次のコードの例参照してください

Imports System
Imports System.Collections
Imports System.Globalization

Public Class SamplesComparer

   Public Shared Sub Main()

      ' Creates the strings to compare.
      Dim str1 As [String] = "llegar"
      Dim str2 As [String] = "lugar"
      Console.WriteLine("Comparing ""{0}""
 and ""{1}"" ...",
 str1, str2)

      ' Uses the DefaultInvariant Comparer.
      Console.WriteLine("   Invariant Comparer: {0}",
 Comparer.DefaultInvariant.Compare(str1, str2))

      ' Uses the Comparer based on the culture "es-ES" (Spanish
 - Spain, international sort).
      Dim myCompIntl As New
 Comparer(New CultureInfo("es-ES",
 False))
      Console.WriteLine("   International Sort: {0}",
 myCompIntl.Compare(str1, str2))

      ' Uses the Comparer based on the culture identifier 0x040A (Spanish
 - Spain, traditional sort).
      Dim myCompTrad As New
 Comparer(New CultureInfo(&H40A, False))
      Console.WriteLine("   Traditional Sort  : {0}",
 myCompTrad.Compare(str1, str2))

   End Sub 'Main 

End Class 'SamplesComparer


'This code produces the following output.
'
'Comparing "llegar" and "lugar" ...
'   Invariant Comparer: -1
'   International Sort: -1
'   Traditional Sort  : 1

using System;
using System.Collections;
using System.Globalization;


public class SamplesComparer  {

   public static void Main()
  {

      // Creates the strings to compare.
      String str1 = "llegar";
      String str2 = "lugar";
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"
 ...", str1, str2 );

      // Uses the DefaultInvariant Comparer.
      Console.WriteLine( "   Invariant Comparer: {0}", Comparer.DefaultInvariant.Compare(
 str1, str2 ) );

      // Uses the Comparer based on the culture "es-ES" (Spanish
 - Spain, international sort).
      Comparer myCompIntl = new Comparer( new
 CultureInfo( "es-ES", false ) );
      Console.WriteLine( "   International Sort: {0}", myCompIntl.Compare(
 str1, str2 ) );

      // Uses the Comparer based on the culture identifier 0x040A (Spanish
 - Spain, traditional sort).
      Comparer myCompTrad = new Comparer( new
 CultureInfo( 0x040A, false ) );
      Console.WriteLine( "   Traditional Sort  : {0}", myCompTrad.Compare(
 str1, str2 ) );

   }

}

/*
This code produces the following output.

Comparing "llegar" and "lugar" ...
   Invariant Comparer: -1
   International Sort: -1
   Traditional Sort  : 1

*/
using namespace System;
using namespace System::Collections;
using namespace System::Globalization;
int main()
{
   
   // Creates the strings to compare.
   String^ str1 = "llegar";
   String^ str2 = "lugar";
   Console::WriteLine( "Comparing \"{0}\" and \"{1}\" ...",
 str1, str2 );
   
   // Uses the DefaultInvariant Comparer.
   Console::WriteLine( "   Invariant Comparer: {0}", Comparer::DefaultInvariant->Compare(
 str1, str2 ) );
   
   // Uses the Comparer based on the culture "es-ES" (Spanish
 - Spain, international sort).
   Comparer^ myCompIntl = gcnew Comparer( gcnew CultureInfo(  "es-ES",false
 ) );
   Console::WriteLine( "   International Sort: {0}", myCompIntl->Compare(
 str1, str2 ) );
   
   // Uses the Comparer based on the culture identifier 0x040A (Spanish
 - Spain, traditional sort).
   Comparer^ myCompTrad = gcnew Comparer( gcnew CultureInfo( 0x040A,false
 ) );
   Console::WriteLine( "   Traditional Sort  : {0}", myCompTrad->Compare(
 str1, str2 ) );
}

/*
This code produces the following output.

Comparing "llegar" and "lugar" ...
   Invariant Comparer: -1
   International Sort: -1
   Traditional Sort  : 1

*/
import System.* ;
import System.Collections.*;
import System.Globalization.*;

public class SamplesComparer
{
    public static void main(String[]
 args)
    {
        // Creates the strings to compare.
        String str1 = "llegar";
        String str2 = "lugar";
        Console.WriteLine("Comparing \"{0}\" and \"{1}\"
 ...", str1, str2);
      
        // Uses the DefaultInvariant Comparer.
        Console.WriteLine("   Invariant Comparer: {0}", 
            (Int32)Comparer.DefaultInvariant.Compare(str1, str2));

        // Uses the Comparer based on the culture "es-ES"
 (Spanish - Spain, 
        // international sort).
        Comparer myCompIntl = new Comparer(new
 CultureInfo("es-ES", false));
        Console.WriteLine("   International Sort: {0}", 
            (Int32)myCompIntl.Compare(str1, str2));

        // Uses the Comparer based on the culture identifier 0x040A
 
        // (Spanish - Spain, traditional sort).
        Comparer myCompTrad = new Comparer(new
 CultureInfo(0x40A, false));
        Console.WriteLine("   Traditional Sort  : {0}",
            (Int32)myCompTrad.Compare(str1, str2));
    } //main
} //SamplesComparer

/*
This code produces the following output.

Comparing "llegar" and "lugar" ...
   Invariant Comparer: -1
   International Sort: -1
   Traditional Sort  : 1

*/
継承階層継承階層
System.Object
  System.Collections.Comparer
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Comparer メンバ
System.Collections 名前空間
IComparer
IComparable インターフェイス
CaseInsensitiveComparer クラス
System.Collections.Generic.Comparer
System.Globalization.CompareInfo
Thread.CurrentCulture
System.Globalization.CultureInfo



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Comparer クラス」の関連用語

Comparer クラスのお隣キーワード
検索ランキング

   

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



Comparer クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS