Math.Min 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回兩個數字中較小的一個。
多載
Min(UInt32, UInt32) |
傳回兩個 32 位元不帶正負號整數中較小的一個。 |
Min(UInt16, UInt16) |
傳回兩個 16 位元不帶正負號整數中較小的一個。 |
Min(Single, Single) |
傳回兩個單精確度浮點數中較小的一個。 |
Min(SByte, SByte) |
傳回兩個 8 位元帶正負號整數中較小的一個。 |
Min(IntPtr, IntPtr) |
傳回兩個原生帶正負號整數的較小值。 |
Min(Double, Double) |
傳回兩個雙精確度浮點數中較小的一個。 |
Min(Int32, Int32) |
傳回兩個 32 位元帶正負號整數中較小的一個。 |
Min(Int16, Int16) |
傳回兩個 16 位元帶正負號整數中較小的一個。 |
Min(Decimal, Decimal) |
傳回兩個十進位數字中較小的一個。 |
Min(Byte, Byte) |
傳回兩個 8 位元不帶正負號整數中較小的一個。 |
Min(UInt64, UInt64) |
傳回兩個 64 位元不帶正負號整數中較小的一個。 |
Min(Int64, Int64) |
傳回兩個 64 位元帶正負號整數中較小的一個。 |
Min(UIntPtr, UIntPtr) |
傳回兩個原生不帶正負號整數的較小值。 |
範例
下列範例示範如何使用 Min 方法來傳回和顯示兩個變數的較小值:
// This example demonstrates Math.Min()
using namespace System;
int main()
{
String^ str = "{0}: The lesser of {1,3} and {2,3} is {3}.";
String^ nl = Environment::NewLine;
Byte xByte1 = 1,xByte2 = 51;
short xShort1 = -2,xShort2 = 52;
int xInt1 = -3,xInt2 = 53;
long xLong1 = -4,xLong2 = 54;
float xSingle1 = 5.0f,xSingle2 = 55.0f;
double xDouble1 = 6.0,xDouble2 = 56.0;
Decimal xDecimal1 = 7,xDecimal2 = 57;
// The following types are not CLS-compliant.
SByte xSbyte1 = 101,xSbyte2 = 111;
UInt16 xUshort1 = 102,xUshort2 = 112;
UInt32 xUint1 = 103,xUint2 = 113;
UInt64 xUlong1 = 104,xUlong2 = 114;
Console::WriteLine( "{0}Display the lesser of two values:{0}", nl );
Console::WriteLine( str, "Byte ", xByte1, xByte2, Math::Min( xByte1, xByte2 ) );
Console::WriteLine( str, "Int16 ", xShort1, xShort2, Math::Min( xShort1, xShort2 ) );
Console::WriteLine( str, "Int32 ", xInt1, xInt2, Math::Min( xInt1, xInt2 ) );
Console::WriteLine( str, "Int64 ", xLong1, xLong2, Math::Min( xLong1, xLong2 ) );
Console::WriteLine( str, "Single ", xSingle1, xSingle2, Math::Min( xSingle1, xSingle2 ) );
Console::WriteLine( str, "Double ", xDouble1, xDouble2, Math::Min( xDouble1, xDouble2 ) );
Console::WriteLine( str, "Decimal", xDecimal1, xDecimal2, Math::Min( xDecimal1, xDecimal2 ) );
//
Console::WriteLine( "{0}The following types are not CLS-compliant:{0}", nl );
Console::WriteLine( str, "SByte ", xSbyte1, xSbyte2, Math::Min( xSbyte1, xSbyte2 ) );
Console::WriteLine( str, "UInt16 ", xUshort1, xUshort2, Math::Min( xUshort1, xUshort2 ) );
Console::WriteLine( str, "UInt32 ", xUint1, xUint2, Math::Min( xUint1, xUint2 ) );
Console::WriteLine( str, "UInt64 ", xUlong1, xUlong2, Math::Min( xUlong1, xUlong2 ) );
}
/*
This example produces the following results:
Display the lesser of two values:
Byte : The lesser of 1 and 51 is 1.
Int16 : The lesser of -2 and 52 is -2.
Int32 : The lesser of -3 and 53 is -3.
Int64 : The lesser of -4 and 54 is -4.
Single : The lesser of 5 and 55 is 5.
Double : The lesser of 6 and 56 is 6.
Decimal: The lesser of 7 and 57 is 7.
The following types are not CLS-compliant:
SByte : The lesser of 101 and 111 is 101.
UInt16 : The lesser of 102 and 112 is 102.
UInt32 : The lesser of 103 and 113 is 103.
UInt64 : The lesser of 104 and 114 is 104.
*/
string str = "{0}: The lesser of {1,3} and {2,3} is {3}.";
byte xByte1 = 1, xByte2 = 51;
short xShort1 = -2, xShort2 = 52;
int xInt1 = -3, xInt2 = 53;
long xLong1 = -4, xLong2 = 54;
float xSingle1 = 5.0f, xSingle2 = 55.0f;
double xDouble1 = 6.0, xDouble2 = 56.0;
Decimal xDecimal1 = 7m, xDecimal2 = 57m;
// The following types are not CLS-compliant.
sbyte xSbyte1 = 101, xSbyte2 = 111;
ushort xUshort1 = 102, xUshort2 = 112;
uint xUint1 = 103, xUint2 = 113;
ulong xUlong1 = 104, xUlong2 = 114;
Console.WriteLine("Display the lesser of two values:\n");
Console.WriteLine(str, "Byte ", xByte1, xByte2, Math.Min(xByte1, xByte2));
Console.WriteLine(str, "Int16 ", xShort1, xShort2, Math.Min(xShort1, xShort2));
Console.WriteLine(str, "Int32 ", xInt1, xInt2, Math.Min(xInt1, xInt2));
Console.WriteLine(str, "Int64 ", xLong1, xLong2, Math.Min(xLong1, xLong2));
Console.WriteLine(str, "Single ", xSingle1, xSingle2, Math.Min(xSingle1, xSingle2));
Console.WriteLine(str, "Double ", xDouble1, xDouble2, Math.Min(xDouble1, xDouble2));
Console.WriteLine(str, "Decimal", xDecimal1, xDecimal2, Math.Min(xDecimal1, xDecimal2));
Console.WriteLine("\nThe following types are not CLS-compliant:\n");
Console.WriteLine(str, "SByte ", xSbyte1, xSbyte2, Math.Min(xSbyte1, xSbyte2));
Console.WriteLine(str, "UInt16 ", xUshort1, xUshort2, Math.Min(xUshort1, xUshort2));
Console.WriteLine(str, "UInt32 ", xUint1, xUint2, Math.Min(xUint1, xUint2));
Console.WriteLine(str, "UInt64 ", xUlong1, xUlong2, Math.Min(xUlong1, xUlong2));
/*
This example produces the following results:
Display the lesser of two values:
Byte : The lesser of 1 and 51 is 1.
Int16 : The lesser of -2 and 52 is -2.
Int32 : The lesser of -3 and 53 is -3.
Int64 : The lesser of -4 and 54 is -4.
Single : The lesser of 5 and 55 is 5.
Double : The lesser of 6 and 56 is 6.
Decimal: The lesser of 7 and 57 is 7.
The following types are not CLS-compliant:
SByte : The lesser of 101 and 111 is 101.
UInt16 : The lesser of 102 and 112 is 102.
UInt32 : The lesser of 103 and 113 is 103.
UInt64 : The lesser of 104 and 114 is 104.
*/
open System
let print typ a b m =
printfn $"{typ}: The lesser of {a,3} and {b,3} is {m}."
let xByte1, xByte2 = 1uy, 51uy
let xShort1, xShort2 = -2s, 52s
let xInt1, xInt2 = -3, 53
let xLong1, xLong2 = -4L, 54L
let xSingle1, xSingle2 = 5f, 55f
let xDouble1, xDouble2 = 6., 56.
let xDecimal1, xDecimal2 = 7m, 57m
// The following types are not CLS-compliant.
let xSbyte1, xSbyte2 = 101y, 111y
let xUshort1, xUshort2 = 102us, 112us
let xUint1, xUint2 = 103u, 113u
let xUlong1, xUlong2 = 104uL, 114uL
printfn "Display the lesser of two values:\n"
print "Byte " xByte1 xByte2 (Math.Min(xByte1, xByte2))
print "Int16 " xShort1 xShort2 (Math.Min(xShort1, xShort2))
print "Int32 " xInt1 xInt2 (Math.Min(xInt1, xInt2))
print "Int64 " xLong1 xLong2 (Math.Min(xLong1, xLong2))
print "Single " xSingle1 xSingle2 (Math.Min(xSingle1, xSingle2))
print "Double " xDouble1 xDouble2 (Math.Min(xDouble1, xDouble2))
print "Decimal" xDecimal1 xDecimal2 (Math.Min(xDecimal1, xDecimal2))
printfn"\nThe following types are not CLS-compliant:\n"
print "SByte " xSbyte1 xSbyte2 (Math.Min(xSbyte1, xSbyte2))
print "UInt16 " xUshort1 xUshort2 (Math.Min(xUshort1, xUshort2))
print "UInt32 " xUint1 xUint2 (Math.Min(xUint1, xUint2))
print "UInt64 " xUlong1 xUlong2 (Math.Min(xUlong1, xUlong2))
// This example produces the following results:
// Display the lesser of two values:
//
// Byte : The lesser of 1 and 51 is 1.
// Int16 : The lesser of -2 and 52 is -2.
// Int32 : The lesser of -3 and 53 is -3.
// Int64 : The lesser of -4 and 54 is -4.
// Single : The lesser of 5 and 55 is 5.
// Double : The lesser of 6 and 56 is 6.
// Decimal: The lesser of 7 and 57 is 7.
//
// The following types are not CLS-compliant:
//
// SByte : The lesser of 101 and 111 is 101.
// UInt16 : The lesser of 102 and 112 is 102.
// UInt32 : The lesser of 103 and 113 is 103.
// UInt64 : The lesser of 104 and 114 is 104.
' This example demonstrates Math.Min()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: The lesser of {1,3} and {2,3} is {3}."
Dim nl As String = Environment.NewLine
Dim xByte1 As Byte = 1
Dim xByte2 As Byte = 51
Dim xShort1 As Short = - 2
Dim xShort2 As Short = 52
Dim xInt1 As Integer = - 3
Dim xInt2 As Integer = 53
Dim xLong1 As Long = - 4
Dim xLong2 As Long = 54
Dim xSingle1 As Single = 5F
Dim xSingle2 As Single = 55F
Dim xDouble1 As Double = 6.0
Dim xDouble2 As Double = 56.0
Dim xDecimal1 As [Decimal] = 7D
Dim xDecimal2 As [Decimal] = 57D
' The following types are not CLS-compliant.
Dim xSbyte1 As SByte = 101
Dim xSbyte2 As SByte = 111
Dim xUshort1 As UShort = 102
Dim xUshort2 As UShort = 112
Dim xUint1 As UInteger = 103
Dim xUint2 As UInteger = 113
Dim xUlong1 As ULong = 104
Dim xUlong2 As ULong = 114
Console.WriteLine("{0}Display the lesser of two values:{0}", nl)
Console.WriteLine(str, "Byte ", xByte1, xByte2, Math.Min(xByte1, xByte2))
Console.WriteLine(str, "Int16 ", xShort1, xShort2, Math.Min(xShort1, xShort2))
Console.WriteLine(str, "Int32 ", xInt1, xInt2, Math.Min(xInt1, xInt2))
Console.WriteLine(str, "Int64 ", xLong1, xLong2, Math.Min(xLong1, xLong2))
Console.WriteLine(str, "Single ", xSingle1, xSingle2, Math.Min(xSingle1, xSingle2))
Console.WriteLine(str, "Double ", xDouble1, xDouble2, Math.Min(xDouble1, xDouble2))
Console.WriteLine(str, "Decimal", xDecimal1, xDecimal2, Math.Min(xDecimal1, xDecimal2))
'
Console.WriteLine("{0}The following types are not CLS-compliant:{0}", nl)
Console.WriteLine(str, "SByte ", xSbyte1, xSbyte2, Math.Min(xSbyte1, xSbyte2))
Console.WriteLine(str, "UInt16 ", xUshort1, xUshort2, Math.Min(xUshort1, xUshort2))
Console.WriteLine(str, "UInt32 ", xUint1, xUInt2, Math.Min(xUInt1, xUInt2))
Console.WriteLine(str, "UInt64 ", xUlong1, xUlong2, Math.Min(xUlong1, xUlong2))
End Sub
End Class
'
' This example produces the following results:
'
' Display the lesser of two values:
'
' Byte : The lesser of 1 and 51 is 1.
' Int16 : The lesser of -2 and 52 is -2.
' Int32 : The lesser of -3 and 53 is -3.
' Int64 : The lesser of -4 and 54 is -4.
' Single : The lesser of 5 and 55 is 5.
' Double : The lesser of 6 and 56 is 6.
' Decimal: The lesser of 7 and 57 is 7.
'
' The following types are not CLS-compliant:
'
' SByte : The lesser of 101 and 111 is 101.
' UInt16 : The lesser of 102 and 112 is 102.
' UInt32 : The lesser of 103 and 113 is 103.
' UInt64 : The lesser of 104 and 114 is 104.
Min(UInt32, UInt32)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
重要
此 API 不符合 CLS 規範。
傳回兩個 32 位元不帶正負號整數中較小的一個。
public:
static System::UInt32 Min(System::UInt32 val1, System::UInt32 val2);
[System.CLSCompliant(false)]
public static uint Min (uint val1, uint val2);
[<System.CLSCompliant(false)>]
static member Min : uint32 * uint32 -> uint32
Public Shared Function Min (val1 As UInteger, val2 As UInteger) As UInteger
參數
- val1
- UInt32
要比較的兩個 32 位元不帶正負號整數中的第一個。
- val2
- UInt32
要比較的兩個 32 位元不帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
- 屬性
適用於
Min(UInt16, UInt16)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
重要
此 API 不符合 CLS 規範。
傳回兩個 16 位元不帶正負號整數中較小的一個。
public:
static System::UInt16 Min(System::UInt16 val1, System::UInt16 val2);
[System.CLSCompliant(false)]
public static ushort Min (ushort val1, ushort val2);
[<System.CLSCompliant(false)>]
static member Min : uint16 * uint16 -> uint16
Public Shared Function Min (val1 As UShort, val2 As UShort) As UShort
參數
- val1
- UInt16
要比較的兩個 16 位元不帶正負號整數中的第一個。
- val2
- UInt16
要比較的兩個 16 位元不帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
- 屬性
適用於
Min(Single, Single)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個單精確度浮點數中較小的一個。
public:
static float Min(float val1, float val2);
public static float Min (float val1, float val2);
static member Min : single * single -> single
Public Shared Function Min (val1 As Single, val2 As Single) As Single
參數
- val1
- Single
要比較的兩個單精確度浮點數中的第一個。
- val2
- Single
要比較的兩個單精確度浮點數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。 如果 val1
、val2
或 val1
和 val2
都等於 NaN,則會傳回 NaN。
適用於
Min(SByte, SByte)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
重要
此 API 不符合 CLS 規範。
傳回兩個 8 位元帶正負號整數中較小的一個。
public:
static System::SByte Min(System::SByte val1, System::SByte val2);
[System.CLSCompliant(false)]
public static sbyte Min (sbyte val1, sbyte val2);
[<System.CLSCompliant(false)>]
static member Min : sbyte * sbyte -> sbyte
Public Shared Function Min (val1 As SByte, val2 As SByte) As SByte
參數
- val1
- SByte
要比較的兩個 8 位元帶正負號整數中的第一個。
- val2
- SByte
要比較的兩個 8 位元帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
- 屬性
適用於
Min(IntPtr, IntPtr)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個原生帶正負號整數的較小值。
public:
static IntPtr Min(IntPtr val1, IntPtr val2);
public static nint Min (nint val1, nint val2);
public static IntPtr Min (IntPtr val1, IntPtr val2);
static member Min : nativeint * nativeint -> nativeint
Public Shared Function Min (val1 As IntPtr, val2 As IntPtr) As IntPtr
參數
- val1
-
IntPtr
nint
nativeint
要比較的兩個原生帶正負號整數的第一個。
- val2
-
IntPtr
nint
nativeint
要比較的兩個原生帶正負號整數的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
適用於
Min(Double, Double)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個雙精確度浮點數中較小的一個。
public:
static double Min(double val1, double val2);
public static double Min (double val1, double val2);
static member Min : double * double -> double
Public Shared Function Min (val1 As Double, val2 As Double) As Double
參數
- val1
- Double
要比較的兩個雙精確度浮點數中的第一個。
- val2
- Double
要比較的兩個雙精確度浮點數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。 如果 val1
、val2
或 val1
和 val2
都等於 NaN,則會傳回 NaN。
適用於
Min(Int32, Int32)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個 32 位元帶正負號整數中較小的一個。
public:
static int Min(int val1, int val2);
public static int Min (int val1, int val2);
static member Min : int * int -> int
Public Shared Function Min (val1 As Integer, val2 As Integer) As Integer
參數
- val1
- Int32
要比較的兩個 32 位元帶正負號整數中的第一個。
- val2
- Int32
要比較的兩個 32 位元帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
適用於
Min(Int16, Int16)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個 16 位元帶正負號整數中較小的一個。
public:
static short Min(short val1, short val2);
public static short Min (short val1, short val2);
static member Min : int16 * int16 -> int16
Public Shared Function Min (val1 As Short, val2 As Short) As Short
參數
- val1
- Int16
要比較的兩個 16 位元帶正負號整數中的第一個。
- val2
- Int16
要比較的兩個 16 位元帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
適用於
Min(Decimal, Decimal)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個十進位數字中較小的一個。
public:
static System::Decimal Min(System::Decimal val1, System::Decimal val2);
public static decimal Min (decimal val1, decimal val2);
static member Min : decimal * decimal -> decimal
Public Shared Function Min (val1 As Decimal, val2 As Decimal) As Decimal
參數
- val1
- Decimal
要比較的兩個十進位數字的第一個。
- val2
- Decimal
要比較的兩個十進位數字中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
適用於
Min(Byte, Byte)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個 8 位元不帶正負號整數中較小的一個。
public:
static System::Byte Min(System::Byte val1, System::Byte val2);
public static byte Min (byte val1, byte val2);
static member Min : byte * byte -> byte
Public Shared Function Min (val1 As Byte, val2 As Byte) As Byte
參數
- val1
- Byte
要比較的兩個 8 位元不帶正負號整數中的第一個。
- val2
- Byte
要比較的兩個 8 位元不帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
適用於
Min(UInt64, UInt64)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
重要
此 API 不符合 CLS 規範。
傳回兩個 64 位元不帶正負號整數中較小的一個。
public:
static System::UInt64 Min(System::UInt64 val1, System::UInt64 val2);
[System.CLSCompliant(false)]
public static ulong Min (ulong val1, ulong val2);
[<System.CLSCompliant(false)>]
static member Min : uint64 * uint64 -> uint64
Public Shared Function Min (val1 As ULong, val2 As ULong) As ULong
參數
- val1
- UInt64
要比較的兩個 64 位元不帶正負號整數中的第一個。
- val2
- UInt64
要比較的兩個 64 位元不帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
- 屬性
適用於
Min(Int64, Int64)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
傳回兩個 64 位元帶正負號整數中較小的一個。
public:
static long Min(long val1, long val2);
public static long Min (long val1, long val2);
static member Min : int64 * int64 -> int64
Public Shared Function Min (val1 As Long, val2 As Long) As Long
參數
- val1
- Int64
要比較的兩個 64 位元帶正負號整數中的第一個。
- val2
- Int64
要比較的兩個 64 位元帶正負號整數中的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
適用於
Min(UIntPtr, UIntPtr)
- 來源:
- Math.cs
- 來源:
- Math.cs
- 來源:
- Math.cs
重要
此 API 不符合 CLS 規範。
傳回兩個原生不帶正負號整數的較小值。
public:
static UIntPtr Min(UIntPtr val1, UIntPtr val2);
[System.CLSCompliant(false)]
public static nuint Min (nuint val1, nuint val2);
[System.CLSCompliant(false)]
public static UIntPtr Min (UIntPtr val1, UIntPtr val2);
[<System.CLSCompliant(false)>]
static member Min : unativeint * unativeint -> unativeint
Public Shared Function Min (val1 As UIntPtr, val2 As UIntPtr) As UIntPtr
參數
- val1
-
UIntPtr
nuint
unativeint
要比較的兩個原生不帶正負號整數的第一個。
- val2
-
UIntPtr
nuint
unativeint
要比較的兩個原生不帶正負號整數的第二個。
傳回
參數 val1
或 val2
(取其較小者)。
- 屬性