Int32.CompareTo 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將這個執行個體與指定的 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 方法,以比較實例的值 Int32 和 Int32 參數標記法。
請參閱程式設計語言的檔,以判斷其編譯器是否對數數值型別執行隱含擴輾轉換。
另請參閱
適用於
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 ,或者 value 是 null 。
|
實作
例外狀況
value
不是 Int32。
備註
不論其值為何,的任何 實例 Int32 都會被視為大於 null
。
value
必須是 null
或 的 Int32 實例,否則會擲回例外狀況。