語言

Int32.CompareTo 方法

定義

將此實例與指定的 32 位元有符號整數比較,並回傳其相對值的指示。

多載

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

回報價值 描述
低於零 此實例小 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 方法,比較 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的相對值。

回報價值 描述
低於零 此實例小 value於 。
零 此實例等於 value。
大於零 此實例大於 value,或 value 為 null。

實作

例外狀況

value 不是 Int32。

備註

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

value 必須是 null 或 的 Int32實例;否則會拋出例外。

另請參閱

適用於