Int32.CompareTo メソッド

定義

指定したオブジェクトまたは Int32 とこのインスタンスを比較し、これらの相対値を示す値を返します。Compares this instance to a specified object or Int32 and returns an indication of their relative values.

オーバーロード

CompareTo(Int32)

指定した 32 ビット符号付き整数とこのインスタンスを比較し、これらの相対値を示す値を返します。Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

CompareTo(Object)

指定したオブジェクトとこのインスタンスを比較し、これらの相対値を示す値を返します。Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Int32)

指定した 32 ビット符号付き整数とこのインスタンスを比較し、これらの相対値を示す値を返します。Compares this instance to a specified 32-bit signed integer and returns an indication of their relative values.

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

パラメーター

value
Int32

比較対象の整数。An integer to compare.

戻り値

このインスタンスと value の相対値を示す符号付き数値。A signed number indicating the relative values of this instance and value.

戻り値Return Value 説明Description
0 より小さい値Less than zero このインスタンスは value よりも小さくなっています。This instance is less than value.
0Zero このインスタンスは value と等価です。This instance is equal to value.
0 より大きい値Greater than zero このインスタンスは value よりも大きくなっています。This instance is greater than value.

実装

メソッドのInt32.CompareTo(Int32)例を次に示します。The following example demonstrates the Int32.CompareTo(Int32) method. 4つの異なる比較のために、メソッドによって返される値を表示するだけでなく、戻り値をComparisonカスタム列挙のメンバーに変換し、値も表示します。In addition to displaying the value returned by the method for four different comparisons, it converts the return value to a member of the custom Comparison enumeration, whose value it also displays.

using System;

enum Comparison {
   LessThan=-1, Equal=0, GreaterThan=1};

public class ValueComparison
{
   public static void Main()
   {
      int mainValue = 16325;
      int zeroValue = 0;
      int negativeValue = -1934;
      int positiveValue = 903624;
      int sameValue = 16325;
         
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",  
                        mainValue, zeroValue, 
                        mainValue.CompareTo(zeroValue), 
                        (Comparison) mainValue.CompareTo(zeroValue));
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).",
                        mainValue, sameValue, 
                        mainValue.CompareTo(sameValue), 
                        (Comparison) mainValue.CompareTo(sameValue));
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", 
                        mainValue, negativeValue, 
                        mainValue.CompareTo(negativeValue), 
                        (Comparison) mainValue.CompareTo(negativeValue));
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", 
                        mainValue, positiveValue, 
                        mainValue.CompareTo(positiveValue), 
                        (Comparison) mainValue.CompareTo(positiveValue));
   }
}
// The example displays the following output:
//       Comparing 16325 and 0: 1 (GreaterThan).
//       Comparing 16325 and 16325: 0 (Equal).
//       Comparing 16325 and -1934: 1 (GreaterThan).
//       Comparing 16325 and 903624: -1 (LessThan).
Public Enum Comparison As Integer
   LessThan = -1
   Equal = 0
   GreaterThan = 1
End Enum

Module ValueComparison
   Public Sub Main()
      Dim mainValue As Integer = 16325
      Dim zeroValue As Integer = 0
      Dim negativeValue As Integer = -1934
      Dim positiveValue As Integer = 903624
      Dim sameValue As Integer = 16325
      
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, zeroValue, _
                        mainValue.CompareTo(zeroValue), _
                        CType(mainValue.CompareTo(zeroValue), Comparison))
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, sameValue, _
                        mainValue.CompareTo(sameValue), _
                        CType(mainValue.CompareTo(sameValue), Comparison))
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, negativeValue, _
                        mainValue.CompareTo(negativeValue), _
                        CType(mainValue.CompareTo(negativeValue), Comparison))
                        
      Console.WriteLine("Comparing {0} and {1}: {2} ({3}).", _ 
                        mainValue, positiveValue, _
                        mainValue.CompareTo(positiveValue), _
                        CType(mainValue.CompareTo(positiveValue), Comparison))
   End Sub
End Module
' The example displays the following output:
'       Comparing 16325 and 0: 1 (GreaterThan).
'       Comparing 16325 and 16325: 0 (Equal).
'       Comparing 16325 and -1934: 1 (GreaterThan).
'       Comparing 16325 and 903624: -1 (LessThan).

注釈

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

プログラミング言語によっては、パラメーターの型がインスタンスのCompareTo型よりも少ない (幅が狭い) メソッドをコーディングすることができます。Depending on your programming language, it might be possible to code a CompareTo method where the parameter type has fewer bits (is narrower) than the instance type. これが可能なのは、一部のプログラミング言語では、インスタンスと同数のビットを持つ型として、パラメーターを表す暗黙的な拡大変換が実行されるためです。This is possible because some programming languages perform an implicit widening conversion that represents the parameter as a type with as many bits as the instance.

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

プログラミング言語のドキュメントを参照して、コンパイラが数値型の暗黙的な拡大変換を実行するかどうかを判断します。Consult your programming language's documentation to determine whether its compiler performs implicit widening conversions on numeric types.

こちらもご覧ください

CompareTo(Object)

指定したオブジェクトとこのインスタンスを比較し、これらの相対値を示す値を返します。Compares this instance to a specified object and returns an indication of their relative values.

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

比較対象のオブジェクト、または nullAn object to compare, or null.

戻り値

このインスタンスと value の相対値を示す符号付き数値。A signed number indicating the relative values of this instance and value.

戻り値Return Value 説明Description
0 より小さい値Less than zero このインスタンスは value よりも小さくなっています。This instance is less than value.
0Zero このインスタンスは value と等価です。This instance is equal to value.
0 より大きい値Greater than zero このインスタンスは value よりも大きくなっています。This instance is greater than value. - または --or- valuenullです。value is null.

実装

例外

valueInt32 ではありません。value is not an Int32.

注釈

のすべてのInt32インスタンスは、その値に関係なく、よりnullも大きいと見なされます。Any instance of Int32, regardless of its value, is considered greater than null.

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

こちらもご覧ください

適用対象