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 的相對值。

傳回值 描述
小於零 這個執行個體小於 value
這個執行個體等於 value
大於零 這個執行個體大於 value

實作

範例

下列範例示範 Int32.CompareTo(Int32) 方法。 除了顯示 方法傳回的值進行四個不同的比較之外,還會將傳回值轉換為自訂 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 方法,以比較實例的值 Int32Int32 參數標記法。

請參閱程式設計語言的檔,以判斷其編譯器是否對數數值型別執行隱含擴輾轉換。

另請參閱

適用於

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 的相對值。

傳回值 描述
小於零 這個執行個體小於 value
這個執行個體等於 value
大於零 這個執行個體大於 value,或者 valuenull

實作

例外狀況

value 不是 Int32

備註

不論其值為何,的任何 實例 Int32 都會被視為大於 null

value 必須是 null 或 的 Int32 實例,否則會擲回例外狀況。

另請參閱

適用於