Int32.CompareTo メソッド

定義

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

オーバーロード

CompareTo(Int32)

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

CompareTo(Object)

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

CompareTo(Int32)

ソース:
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値とパラメーター表現を比較するメソッドをInt32生成Int32.CompareToします。

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

こちらもご覧ください

適用対象

CompareTo(Object)

ソース:
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大きいと見なされます。

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

こちらもご覧ください

適用対象