Int32.CompareTo メソッド

定義

このインスタンスを指定した 32 ビット符号付き整数と比較し、その相対値を示す値を返します。

オーバーロード

名前 説明
CompareTo(Int32)

このインスタンスを指定した 32 ビット符号付き整数と比較し、その相対値を示す値を返します。

CompareTo(Object)

このインスタンスを指定したオブジェクトと比較し、その相対値を示す値を返します。

CompareTo(Int32)

ソース:
Int32.cs
ソース:
Int32.cs
ソース:
Int32.cs
ソース:
Int32.cs
ソース:
Int32.cs

このインスタンスを指定した 32 ビット符号付き整数と比較し、その相対値を示す値を返します。

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

比較する整数。

返品

このインスタンスと valueの相対値を示す符号付き数値。

戻り値 説明
0 未満 このインスタンスは value未満です。
ゼロ このインスタンスは、 valueと同じです。
0 より大きい このインスタンスは valueより大きい。

実装

次の例では、 Int32.CompareTo(Int32) メソッドを示します。 4 つの異なる比較のメソッドによって返される値を表示するだけでなく、戻り値をカスタム Comparison 列挙体のメンバーに変換します。その値も表示されます。

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).
open System

type Comparison =
    | LessThan = -1 
    | Equal = 0
    | GreaterThan = 1

let mainValue = 16325
let zeroValue = 0
let negativeValue = -1934
let positiveValue = 903624
let sameValue = 16325

printfn $"Comparing {mainValue} and {zeroValue}: {mainValue.CompareTo zeroValue} ({enum<Comparison>(mainValue.CompareTo zeroValue)})."

printfn $"Comparing {mainValue} and {sameValue}: {mainValue.CompareTo sameValue} ({enum<Comparison>(mainValue.CompareTo sameValue)})."

printfn $"Comparing {mainValue} and {negativeValue}: {mainValue.CompareTo negativeValue} ({enum<Comparison>(mainValue.CompareTo negativeValue)})." 

printfn $"Comparing {mainValue} and {positiveValue}: {mainValue.CompareTo positiveValue} ({enum<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> インターフェイスを実装し、Int32.CompareTo パラメーターをオブジェクトに変換する必要がないため、value メソッドよりも若干優れたパフォーマンスを発揮します。

プログラミング言語によっては、パラメーター型のビット数がインスタンス型よりも少ない (狭い) CompareTo メソッドをコーディングできる場合があります。 これは、一部のプログラミング言語では、インスタンスと同数のビットを持つ型としてパラメーターを表す暗黙的な拡大変換を実行するためです。

たとえば、インスタンス型が Int32 で、パラメーターの型が Byteされるとします。 Microsoft C# コンパイラは、パラメーターの値を Int32 として表す命令を生成し、Int32.CompareTo インスタンスと Int32 パラメーター表現の値を比較するInt32 メソッドを生成します。

コンパイラが数値型に対して暗黙的な拡大変換を実行するかどうかを判断するには、プログラミング言語のドキュメントを参照してください。

こちらもご覧ください

適用対象

CompareTo(Object)

ソース:
Int32.cs
ソース:
Int32.cs
ソース:
Int32.cs
ソース:
Int32.cs
ソース:
Int32.cs

このインスタンスを指定したオブジェクトと比較し、その相対値を示す値を返します。

public:
 virtual int CompareTo(System::Object ^ value);
public int CompareTo(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

比較するオブジェクト、または null

返品

このインスタンスと valueの相対値を示す符号付き数値。

戻り値 説明
0 未満 このインスタンスは value未満です。
ゼロ このインスタンスは、 valueと同じです。
0 より大きい このインスタンスが valueより大きいか、 valuenull

実装

例外

valueInt32ではありません。

注釈

Int32のインスタンスは、その値に関係なく、nullより大きいと見なされます。

valuenull または Int32のインスタンスである必要があります。それ以外の場合は例外がスローされます。

こちらもご覧ください

適用対象