Char.CompareTo Char.CompareTo Char.CompareTo Char.CompareTo Method

定義

このインスタンスと指定したオブジェクトまたは値型とを比較し、並べ替え順序において、このインスタンスの位置が指定したオブジェクトまたは値型の前、後ろ、または同じのいずれであるかを示します。Compares this instance to a specified object or value type, and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified object or value type.

オーバーロード

CompareTo(Char) CompareTo(Char) CompareTo(Char) CompareTo(Char)

このインスタンスと指定した Char オブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した Char オブジェクトの前、後ろ、または同じのいずれであるかを示します。Compares this instance to a specified Char object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Char object.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

このインスタンスと指定したオブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した Object の前、後ろ、または同じのいずれであるかを示します。Compares this instance to a specified object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Object.

CompareTo(Char) CompareTo(Char) CompareTo(Char) CompareTo(Char)

このインスタンスと指定した Char オブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した Char オブジェクトの前、後ろ、または同じのいずれであるかを示します。Compares this instance to a specified Char object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Char object.

public:
 virtual int CompareTo(char value);
public int CompareTo (char value);
abstract member CompareTo : char -> int
override this.CompareTo : char -> int
Public Function CompareTo (value As Char) As Integer

パラメーター

value
Char Char Char Char

比較対象の Char オブジェクト。A Char object to compare.

戻り値

並べ替え順序における、value パラメーターに対するこのインスタンスの相対位置を示す符号付き数値。A signed number indicating the position of this instance in the sort order in relation to the value parameter.

戻り値Return Value 説明Description
0 より小さい値Less than zero このインスタンスの位置が value よりも前です。This instance precedes value.
0Zero このインスタンスの位置が、並べ替え順序において value と同じです。This instance has the same position in the sort order as value.
0 より大きい値Greater than zero このインスタンスの位置が value よりも後ろです。This instance follows value.

実装

次のコード例は、いくつかの値および参照型CompareToについて、メソッドのジェネリックバージョンと非ジェネリックバージョンを示しています。The following code example demonstrates generic and non-generic versions of the CompareTo method for several value and reference types.

// This example demonstrates the two versions of the 
// CompareTo method for several base types.
// The general version takes a parameter of type Object, while the specific
// version takes a type-specific parameter, such as Boolean, Int32, or Double.
using namespace System;

void Show( String^ caption, Object^ var1, Object^ var2, int resultGeneric, int resultNonGeneric )
{
   String^ relation;
   Console::Write( caption );
   if ( resultGeneric == resultNonGeneric )
   {
      if ( resultGeneric < 0 )
            relation = "less than";
      else
      if ( resultGeneric > 0 )
            relation = "greater than";
      else
            relation = "equal to";
      Console::WriteLine( "{0} is {1} {2}", var1, relation, var2 );
   }
   // The following condition will never occur because the generic and non-generic
   // CompareTo methods are equivalent.
   else
   {
      Console::WriteLine( "Generic CompareTo = {0}; non-generic CompareTo = {1}", resultGeneric, resultNonGeneric );
   }
}

int main()
{
   String^ nl = Environment::NewLine;
   String^ msg = "{0}The following is the result of using the generic and non-generic{0}"
   "versions of the CompareTo method for several base types:{0}";
   Object^ obj; // An Object used to insure CompareTo(Object) is called.

   DateTime now = DateTime::Now;
   
   // Time span = 11 days, 22 hours, 33 minutes, 44 seconds
   TimeSpan tsX = TimeSpan(11,22,33,44);
   
   // Version = 1.2.333.4
   Version^ versX = gcnew Version(  "1.2.333.4" );
   
   // Guid = CA761232-ED42-11CE-BACD-00AA0057B223
   Guid guidX = Guid( "{CA761232-ED42-11CE-BACD-00AA0057B223}");
   Boolean a1 = true,a2 = true;
   Byte b1 = 1,b2 = 1;
   Int16 c1 = -2,c2 = 2;
   Int32 d1 = 3,d2 = 3;
   Int64 e1 = 4,e2 = -4;
   Decimal f1 = Decimal(-5.5), f2 = Decimal(5.5);
   Single g1 = 6.6f,g2 = 6.6f;
   Double h1 = 7.7,h2 = -7.7;
   Char i1 = 'A',i2 = 'A';
   String^ j1 = "abc", ^j2 = "abc";
   DateTime k1 = now,k2 = now;
   TimeSpan l1 = tsX,l2 = tsX;
   Version^ m1 = versX, ^m2 = gcnew Version(  "2.0" );
   Guid n1 = guidX,n2 = guidX;
   
   // The following types are not CLS-compliant.
   SByte w1 = 8,w2 = 8;
   UInt16 x1 = 9,x2 = 9;
   UInt32 y1 = 10,y2 = 10;
   UInt64 z1 = 11,z2 = 11;
   
   //
   Console::WriteLine( msg, nl );
   try
   {
      Show( "Boolean: ", a1, a2, a1.CompareTo( a2 ), a1.CompareTo( a2 ) );
      Show( "Byte:    ", b1, b2, b1.CompareTo( b2 ), b1.CompareTo( b2 ) );
      Show( "Int16:   ", c1, c2, c1.CompareTo( c2 ), c1.CompareTo( c2 ) );
      Show( "Int32:   ", d1, d2, d1.CompareTo( d2 ), d1.CompareTo( d2 ) );
      Show( "Int64:   ", e1, e2, e1.CompareTo( e2 ), e1.CompareTo( e2 ) );
      Show( "Decimal: ", f1, f2, f1.CompareTo( f2 ), f1.CompareTo( f2 ) );
      Show( "Single:  ", g1, g2, g1.CompareTo( g2 ), g1.CompareTo( g2 ) );
      Show( "Double:  ", h1, h2, h1.CompareTo( h2 ), h1.CompareTo( h2 ) );
      Show( "Char:    ", i1, i2, i1.CompareTo( i2 ), i1.CompareTo( i2 ) );
      
      // Use an anonymous object to hide the String object.
      obj = j2;
      Show( "String:  ", j1, j2, j1->CompareTo( j2 ), j1->CompareTo( obj ) );
      Show( "DateTime:", k1, k2, k1.CompareTo( k2 ), k1.CompareTo( k2 ) );
      Show(  "TimeSpan: ", l1, l2, l1.CompareTo( l2 ), l1.CompareTo( l2 ) );
      
      // Use an anonymous object to hide the Version object.
      obj = m2;
      Show(  "Version:  ", m1, m2, m1->CompareTo( m2 ), m1->CompareTo( obj ) );
      Show(  "Guid:     ", n1, n2, n1.CompareTo( n2 ), n1.CompareTo( n2 ) );
      
      //
      Console::WriteLine( "{0}The following types are not CLS-compliant:", nl );
      Show( "SByte:   ", w1, w2, w1.CompareTo( w2 ), w1.CompareTo( w2 ) );
      Show( "UInt16:  ", x1, x2, x1.CompareTo( x2 ), x1.CompareTo( x2 ) );
      Show( "UInt32:  ", y1, y2, y1.CompareTo( y2 ), y1.CompareTo( y2 ) );
      Show( "UInt64:  ", z1, z2, z1.CompareTo( z2 ), z1.CompareTo( z2 ) );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e );
   }

}
//     This example displays the following output:
//     
//     The following is the result of using the generic and non-generic versions of the
//     CompareTo method for several base types:
//     
//     Boolean:  True is equal to True
//     Byte:     1 is equal to 1
//     Int16:    -2 is less than 2
//     Int32:    3 is equal to 3
//     Int64:    4 is greater than -4
//     Decimal:  -5.5 is less than 5.5
//     Single:   6.6 is equal to 6.6
//     Double:   7.7 is greater than -7.7
//     Char:     A is equal to A
//     String:   abc is equal to abc
//     DateTime: 12/1/2003 5:37:46 PM is equal to 12/1/2003 5:37:46 PM
//     TimeSpan: 11.22:33:44 is equal to 11.22:33:44
//     Version:  1.2.333.4 is less than 2.0
//     Guid:     ca761232-ed42-11ce-bacd-00aa0057b223 is equal to ca761232-ed42-11ce-bacd-00
//     aa0057b223
//     
//     The following types are not CLS-compliant:
//     SByte:    8 is equal to 8
//     UInt16:   9 is equal to 9
//     UInt32:   10 is equal to 10
//     UInt64:   11 is equal to 11
// This example demonstrates the generic and non-generic versions of the 
// CompareTo method for several base types.
// The non-generic version takes a parameter of type Object, while the generic
// version takes a type-specific parameter, such as Boolean, Int32, or Double.

using System;

class Sample 
{
    public static void Main() 
    {
    string    nl = Environment.NewLine;
    string    msg = "{0}The following is the result of using the generic and non-generic{0}" +
                    "versions of the CompareTo method for several base types:{0}";

    DateTime  now = DateTime.Now;
// Time span = 11 days, 22 hours, 33 minutes, 44 seconds
    TimeSpan  tsX = new TimeSpan(11, 22, 33, 44); 
// Version = 1.2.333.4
    Version   versX = new Version("1.2.333.4");  
// Guid = CA761232-ED42-11CE-BACD-00AA0057B223
    Guid      guidX = new Guid("{CA761232-ED42-11CE-BACD-00AA0057B223}");

    Boolean  a1 = true,  a2 = true;
    Byte     b1 = 1,     b2 = 1;
    Int16    c1 = -2,    c2 = 2;
    Int32    d1 = 3,     d2 = 3;
    Int64    e1 = 4,     e2 = -4;
    Decimal  f1 = -5.5m, f2 = 5.5m;
    Single   g1 = 6.6f,  g2 = 6.6f;
    Double   h1 = 7.7d,  h2 = -7.7d;
    Char     i1 = 'A',   i2 = 'A';
    String   j1 = "abc", j2 = "abc";
    DateTime k1 = now,   k2 = now;
    TimeSpan l1 = tsX,   l2 = tsX;
    Version  m1 = versX, m2 = new Version("2.0");
    Guid     n1 = guidX, n2 = guidX;

// The following types are not CLS-compliant.
    SByte    w1 = 8,     w2 = 8;
    UInt16   x1 = 9,     x2 = 9;
    UInt32   y1 = 10,    y2 = 10;
    UInt64   z1 = 11,    z2 = 11;
//
    Console.WriteLine(msg, nl);
    try 
        {
// The second and third Show method call parameters are automatically boxed because
// the second and third Show method declaration arguments expect type Object.

        Show("Boolean:  ", a1, a2, a1.CompareTo(a2), a1.CompareTo((Object)a2));
        Show("Byte:     ", b1, b2, b1.CompareTo(b2), b1.CompareTo((Object)b2));
        Show("Int16:    ", c1, c2, c1.CompareTo(c2), c1.CompareTo((Object)c2));
        Show("Int32:    ", d1, d2, d1.CompareTo(d2), d1.CompareTo((Object)d2));
        Show("Int64:    ", e1, e2, e1.CompareTo(e2), e1.CompareTo((Object)e2));
        Show("Decimal:  ", f1, f2, f1.CompareTo(f2), f1.CompareTo((Object)f2));
        Show("Single:   ", g1, g2, g1.CompareTo(g2), g1.CompareTo((Object)g2));
        Show("Double:   ", h1, h2, h1.CompareTo(h2), h1.CompareTo((Object)h2));
        Show("Char:     ", i1, i2, i1.CompareTo(i2), i1.CompareTo((Object)i2));
        Show("String:   ", j1, j2, j1.CompareTo(j2), j1.CompareTo((Object)j2));
        Show("DateTime: ", k1, k2, k1.CompareTo(k2), k1.CompareTo((Object)k2));
        Show("TimeSpan: ", l1, l2, l1.CompareTo(l2), l1.CompareTo((Object)l2));
        Show("Version:  ", m1, m2, m1.CompareTo(m2), m1.CompareTo((Object)m2));
        Show("Guid:     ", n1, n2, n1.CompareTo(n2), n1.CompareTo((Object)n2));
//
        Console.WriteLine("{0}The following types are not CLS-compliant:", nl);
        Show("SByte:    ", w1, w2, w1.CompareTo(w2), w1.CompareTo((Object)w2));
        Show("UInt16:   ", x1, x2, x1.CompareTo(x2), x1.CompareTo((Object)x2));
        Show("UInt32:   ", y1, y2, y1.CompareTo(y2), y1.CompareTo((Object)y2));
        Show("UInt64:   ", z1, z2, z1.CompareTo(z2), z1.CompareTo((Object)z2));
        }
    catch (Exception e)
        {
        Console.WriteLine(e);
        }
    }

    public static void Show(string caption, Object var1, Object var2, 
                            int resultGeneric, int resultNonGeneric)
    {
    string relation;

    Console.Write(caption);
    if (resultGeneric == resultNonGeneric) 
        {
        if      (resultGeneric < 0) relation = "less than";
        else if (resultGeneric > 0) relation = "greater than";
        else                        relation = "equal to";
        Console.WriteLine("{0} is {1} {2}", var1, relation, var2);
        }

// The following condition will never occur because the generic and non-generic
// CompareTo methods are equivalent.

    else
        {
        Console.WriteLine("Generic CompareTo = {0}; non-generic CompareTo = {1}", 
                           resultGeneric, resultNonGeneric);
        }
   }
}
/*
This example produces the following results:

The following is the result of using the generic and non-generic versions of the
CompareTo method for several base types:

Boolean:  True is equal to True
Byte:     1 is equal to 1
Int16:    -2 is less than 2
Int32:    3 is equal to 3
Int64:    4 is greater than -4
Decimal:  -5.5 is less than 5.5
Single:   6.6 is equal to 6.6
Double:   7.7 is greater than -7.7
Char:     A is equal to A
String:   abc is equal to abc
DateTime: 12/1/2003 5:37:46 PM is equal to 12/1/2003 5:37:46 PM
TimeSpan: 11.22:33:44 is equal to 11.22:33:44
Version:  1.2.333.4 is less than 2.0
Guid:     ca761232-ed42-11ce-bacd-00aa0057b223 is equal to ca761232-ed42-11ce-bacd-00
aa0057b223

The following types are not CLS-compliant:
SByte:    8 is equal to 8
UInt16:   9 is equal to 9
UInt32:   10 is equal to 10
UInt64:   11 is equal to 11
*/
' This example demonstrates the generic and non-generic versions of the 
' CompareTo method for several base types.
' The non-generic version takes a parameter of type Object, while the generic
' version takes a type-specific parameter, such as Boolean, Int32, or Double.

Class Sample
   Public Shared Sub Main()
      Dim nl As String = Environment.NewLine
      Dim msg As String = _
          "{0}The following is the result of using the generic and non-generic{0}" & _
          "versions of the CompareTo method for several base types:{0}"
      
      Dim now As DateTime = DateTime.Now
      ' Time span = 11 days, 22 hours, 33 minutes, 44 seconds
      Dim tsX As New TimeSpan(11, 22, 33, 44)
      ' Version = 1.2.333.4
      Dim versX As New Version("1.2.333.4")
      ' Guid = CA761232-ED42-11CE-BACD-00AA0057B223
      Dim guidX As New Guid("{CA761232-ED42-11CE-BACD-00AA0057B223}")
      
      Dim a1 As [Boolean] = True,    a2 As [Boolean] = True
      Dim b1 As [Byte] = 1,          b2 As [Byte] = 1
      Dim c1 As Int16 = -2,          c2 As Int16 = 2
      Dim d1 As Int32 = 3,           d2 As Int32 = 3
      Dim e1 As Int64 = 4,           e2 As Int64 = -4
      Dim f1 As [Decimal] = -5.5D,   f2 As [Decimal] = 5.5D
      Dim g1 As [Single] = 6.6F,     g2 As [Single] = 6.6F
      Dim h1 As [Double] = 7.7,      h2 As [Double] = -7.7
      Dim i1 As [Char] = "A"c,       i2 As [Char] = "A"c
      Dim j1 As String = "abc",      j2 As String = "abc"
      Dim k1 As DateTime = now,      k2 As DateTime = now
      Dim l1 As TimeSpan = tsX,      l2 As TimeSpan = tsX
      Dim m1 As Version = versX,     m2 As New Version("2.0")
      Dim n1 As Guid = guidX,        n2 As Guid = guidX
      
      ' The following types are not CLS-compliant.
      ' SByte, UInt16, UInt32, UInt64

      Console.WriteLine(msg, nl)
      Try
         ' The second and third Show method call parameters are automatically boxed because
         ' the second and third Show method declaration arguments expect type Object.

         Show("Boolean:  ", a1, a2, a1.CompareTo(a2), a1.CompareTo(CObj(a2)))
         Show("Byte:     ", b1, b2, b1.CompareTo(b2), b1.CompareTo(CObj(b2)))
         Show("Int16:    ", c1, c2, c1.CompareTo(c2), c1.CompareTo(CObj(c2)))
         Show("Int32:    ", d1, d2, d1.CompareTo(d2), d1.CompareTo(CObj(d2)))
         Show("Int64:    ", e1, e2, e1.CompareTo(e2), e1.CompareTo(CObj(e2)))
         Show("Decimal:  ", f1, f2, f1.CompareTo(f2), f1.CompareTo(CObj(f2)))
         Show("Single:   ", g1, g2, g1.CompareTo(g2), g1.CompareTo(CObj(g2)))
         Show("Double:   ", h1, h2, h1.CompareTo(h2), h1.CompareTo(CObj(h2)))
         Show("Char:     ", i1, i2, i1.CompareTo(i2), i1.CompareTo(CObj(i2)))
         Show("String:   ", j1, j2, j1.CompareTo(j2), j1.CompareTo(CObj(j2)))
         Show("DateTime: ", k1, k2, k1.CompareTo(k2), k1.CompareTo(CObj(k2)))
         Show("TimeSpan: ", l1, l2, l1.CompareTo(l2), l1.CompareTo(CObj(l2)))
         Show("Version:  ", m1, m2, m1.CompareTo(m2), m1.CompareTo(CObj(m2)))
         Show("Guid:     ", n1, n2, n1.CompareTo(n2), n1.CompareTo(CObj(n2)))
         '
         Console.WriteLine("{0}The following types are not CLS-compliant:", nl)
         Console.WriteLine("SByte, UInt16, UInt32, UInt64")

      Catch e As Exception
         Console.WriteLine(e)
      End Try
   End Sub
   
   Public Shared Sub Show(caption As String, var1 As [Object], var2 As [Object], _
                          resultGeneric As Integer, resultNonGeneric As Integer)
      Dim relation As String
      
      Console.Write(caption)
      If resultGeneric = resultNonGeneric Then
         If resultGeneric < 0 Then
            relation = "less than"
         ElseIf resultGeneric > 0 Then
            relation = "greater than"
         Else
            relation = "equal to"
         End If
         Console.WriteLine("{0} is {1} {2}", var1, relation, var2)
      
      ' The following condition will never occur because the generic and non-generic
      ' CompareTo methods are equivalent.

      Else
         Console.WriteLine("Generic CompareTo = {0}; non-generic CompareTo = {1}", _
                            resultGeneric, resultNonGeneric)
      End If
   End Sub
End Class
'
'This example produces the following results:
'
'The following is the result of using the generic and non-generic versions of the
'CompareTo method for several base types:
'
'Boolean:  True is equal to True
'Byte:     1 is equal to 1
'Int16:    -2 is less than 2
'Int32:    3 is equal to 3
'Int64:    4 is greater than -4
'Decimal:  -5.5 is less than 5.5
'Single:   6.6 is equal to 6.6
'Double:   7.7 is greater than -7.7
'Char:     A is equal to A
'String:   abc is equal to abc
'DateTime: 12/1/2003 5:37:46 PM is equal to 12/1/2003 5:37:46 PM
'TimeSpan: 11.22:33:44 is equal to 11.22:33:44
'Version:  1.2.333.4 is less than 2.0
'Guid:     ca761232-ed42-11ce-bacd-00aa0057b223 is equal to ca761232-ed42-11ce-bacd-00
'aa0057b223
'
'The following types are not CLS-compliant:
'SByte, UInt16, UInt32, UInt64
'

注釈

このメソッドは、 System.IComparable<T> valueパラメーターをオブジェクトに変換する必要Char.CompareToがないため、インターフェイスを実装し、メソッドよりも若干優れています。This method implements the System.IComparable<T> interface and performs slightly better than the Char.CompareTo method because it does not have to convert the value parameter to an object.

このメソッドによって実行される比較は、辞書式の特性でvalueはなく、このインスタンスのエンコードされた値に基づいています。The comparison performed by this method is based on the encoded values of this instance and value, not their lexicographical characteristics.

メソッドパラメーター CompareToの型のビット数がインスタンスの型よりも少ない (幅が狭い) 場合、一部のプログラミング言語では、パラメーターの値をより多くのビットを持つ値に変換する暗黙的な拡大変換が実行されます。If the CompareTo method parameter type has fewer bits (is narrower) than the instance type, some programming languages perform an implicit widening conversion that transforms the value of the parameter into a value with more bits.

たとえば、インスタンスの型がInt32で、パラメーターの型がであるByteとします。For example, suppose the instance type is Int32 and the parameter type is Byte. Microsoft C#コンパイラは、パラメーターのInt32値をオブジェクトとして表現する命令を生成し、 Int32.CompareTo Int32インスタンスとInt32パラメーターの値を比較するメソッドを生成します。もの.The Microsoft C# compiler generates instructions to represent the value of the parameter as an Int32 object, then generates a Int32.CompareTo method that compares the values of the Int32 instance and the Int32 parameter representation.

通常、暗黙的な拡大変換は数値型で実行されます。Typically, implicit widening conversions are performed on numeric types. コンパイラが拡大変換を実行するかどうかを判断するには、プログラミング言語のドキュメントを参照してください。Consult your programming language's documentation to determine if its compiler performs widening conversions. インスタンスとパラメーターの型が一致せず、適切な変換が使用できない場合、コンパイラはパラメーターをボックスに表示CompareToする命令を生成Objectし、パラメーターを受け取るオーバーロードを呼び出します。If the instance and parameter types mismatch and a suitable conversion is not available, the compiler generates instructions to box the parameter and invoke the CompareTo overload that takes an Object parameter.

こちらもご覧ください

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

このインスタンスと指定したオブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した Object の前、後ろ、または同じのいずれであるかを示します。Compares this instance to a specified object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Object.

public:
 virtual int CompareTo(System::Object ^ value);
public int CompareTo (object value);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (value As Object) As Integer

パラメーター

value
Object Object Object Object

このインスタンスと比較するオブジェクト、または nullAn object to compare this instance to, or null.

戻り値

並べ替え順序における、value パラメーターに対するこのインスタンスの相対位置を示す符号付き数値。A signed number indicating the position of this instance in the sort order in relation to the value parameter.

戻り値Return Value 説明Description
0 より小さい値Less than zero このインスタンスの位置が value よりも前です。This instance precedes value.
0Zero このインスタンスの位置が、並べ替え順序において value と同じです。This instance has the same position in the sort order as value.
0 より大きい値Greater than zero このインスタンスの位置が value よりも後ろです。This instance follows value. - または --or- valuenullです。value is null.

実装

例外

valueChar オブジェクトではありません。value is not a Char object.

次のコード例でCompareToは、を示します。The following code example demonstrates CompareTo.

using namespace System;
int main()
{
   char chA = 'A';
   char chB = 'B';
   Console::WriteLine( chA.CompareTo( 'A' ) ); // Output: "0" (meaning they're equal)
   Console::WriteLine( 'b'.CompareTo( chB ) ); // Output: "32" (meaning 'b' is greater than 'B' by 32)
   Console::WriteLine( chA.CompareTo( chB ) ); // Output: "-1" (meaning 'A' is less than 'B' by 1)
}

using System;

public class CompareToSample {
    public static void Main() {
        char chA = 'A';
        char chB = 'B';

        Console.WriteLine(chA.CompareTo('A'));	// Output: "0" (meaning they're equal)
        Console.WriteLine('b'.CompareTo(chB));	// Output: "32" (meaning 'b' is greater than 'B' by 32)
        Console.WriteLine(chA.CompareTo(chB));	// Output: "-1" (meaning 'A' is less than 'B' by 1)
    }
}
Module CompareToSample

    Sub Main()

        Dim chA As Char
        chA = "A"c
        Dim chB As Char
        chB = "B"c

        Console.WriteLine(chA.CompareTo("A"c))  ' Output: "0" (meaning they're equal)
        Console.WriteLine("b"c.CompareTo(chB))  ' Output: "32" (meaning 'b' is 32 greater than 'B')
    Console.WriteLine(chA.CompareTo(chB))	' Output: "-1" (meaning 'A' is less than 'B' by 1)

    End Sub

End Module

注釈

メソッドCompareToは、インターフェイスIComparableを実装します。The CompareTo method implements the IComparable interface.

パラメーター valueは、またnullはのCharインスタンスである必要があります。それ以外の場合は、例外がスローされます。The value parameter must be null or an instance of Char; otherwise, an exception is thrown.

このメソッドによって実行される比較は、このインスタンスのエンコードさvalueれた値に基づいており、必ずしも辞書式の特性であるとは限りません。The comparison performed by this method is based on the encoded values of this instance and value, not necessarily their lexicographical characteristics. のすべてのCharインスタンスは、その値に関係なく、よりnullも大きいと見なされます。Any instance of Char, regardless of its value, is considered greater than null.

こちらもご覧ください

適用対象