Math.Max 方法

定義

回傳兩個指定數字中較大的那個。

多載

名稱 Description
Max(UInt64, UInt64)

回傳兩個 64 位元無符號整數中較大的那個。

Max(UInt32, UInt32)

回傳兩個 32 位元無符號整數中較大的那個。

Max(UInt16, UInt16)

回傳兩個16位元無符號整數中較大的那個。

Max(Single, Single)

回傳兩個單精度浮點數中較大的那個。

Max(SByte, SByte)

回傳兩個 8 位元有符號整數中較大的那個。

Max(IntPtr, IntPtr)

回傳兩個本地帶符號整數中較大的那個。

Max(UIntPtr, UIntPtr)

回傳兩個本體無符號整數中較大的那個。

Max(Int32, Int32)

回傳兩個 32 位元有號整數中較大的那個。

Max(Int16, Int16)

回傳兩個 16 位元有號整數中較大的那個。

Max(Double, Double)

回傳兩個雙精度浮點數中較大的那個。

Max(Decimal, Decimal)

回傳兩個小數中較大的那個。

Max(Byte, Byte)

回傳兩個 8 位元無符號整數中較大的那個。

Max(Int64, Int64)

回傳兩個 64 位元有號整數中較大的那個。

範例

以下範例示範如何使用此 Max 方法回傳並顯示兩個變數中較大的變數:

string str = "{0}: The greater 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 greater of two values:\n");
Console.WriteLine(str, "Byte   ", xByte1, xByte2, Math.Max(xByte1, xByte2));
Console.WriteLine(str, "Int16  ", xShort1, xShort2, Math.Max(xShort1, xShort2));
Console.WriteLine(str, "Int32  ", xInt1, xInt2, Math.Max(xInt1, xInt2));
Console.WriteLine(str, "Int64  ", xLong1, xLong2, Math.Max(xLong1, xLong2));
Console.WriteLine(str, "Single ", xSingle1, xSingle2, Math.Max(xSingle1, xSingle2));
Console.WriteLine(str, "Double ", xDouble1, xDouble2, Math.Max(xDouble1, xDouble2));
Console.WriteLine(str, "Decimal", xDecimal1, xDecimal2, Math.Max(xDecimal1, xDecimal2));

Console.WriteLine("\nThe following types are not CLS-compliant.\n");
Console.WriteLine(str, "SByte  ", xSbyte1, xSbyte2, Math.Max(xSbyte1, xSbyte2));
Console.WriteLine(str, "UInt16 ", xUshort1, xUshort2, Math.Max(xUshort1, xUshort2));
Console.WriteLine(str, "UInt32 ", xUint1, xUint2, Math.Max(xUint1, xUint2));
Console.WriteLine(str, "UInt64 ", xUlong1, xUlong2, Math.Max(xUlong1, xUlong2));

/*
This example produces the following results:

Display the greater of two values:

Byte   : The greater of   1 and  51 is 51.
Int16  : The greater of  -2 and  52 is 52.
Int32  : The greater of  -3 and  53 is 53.
Int64  : The greater of  -4 and  54 is 54.
Single : The greater of   5 and  55 is 55.
Double : The greater of   6 and  56 is 56.
Decimal: The greater of   7 and  57 is 57.

(The following types are not CLS-compliant.)

SByte  : The greater of 101 and 111 is 111.
UInt16 : The greater of 102 and 112 is 112.
UInt32 : The greater of 103 and 113 is 113.
UInt64 : The greater of 104 and 114 is 114.
*/
open System

let print typ a b m = 
    printfn $"{typ}: The greater 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 greater of two values:\n"
print "Byte   " xByte1 xByte2 (Math.Max(xByte1, xByte2))
print "Int16  " xShort1 xShort2 (Math.Max(xShort1, xShort2))
print "Int32  " xInt1 xInt2 (Math.Max(xInt1, xInt2))
print "Int64  " xLong1 xLong2 (Math.Max(xLong1, xLong2))
print "Single " xSingle1 xSingle2 (Math.Max(xSingle1, xSingle2))
print "Double " xDouble1 xDouble2 (Math.Max(xDouble1, xDouble2))
print "Decimal" xDecimal1 xDecimal2 (Math.Max(xDecimal1, xDecimal2))

printfn "\nThe following types are not CLS-compliant.\n"
print "SByte  " xSbyte1 xSbyte2 (Math.Max(xSbyte1, xSbyte2))
print "UInt16 " xUshort1 xUshort2 (Math.Max(xUshort1, xUshort2))
print "UInt32 " xUint1 xUint2 (Math.Max(xUint1, xUint2))
print "UInt64 " xUlong1 xUlong2 (Math.Max(xUlong1, xUlong2))

// This example produces the following results:
//     Display the greater of two values:
//    
//     Byte   : The greater of   1 and  51 is 51.
//     Int16  : The greater of  -2 and  52 is 52.
//     Int32  : The greater of  -3 and  53 is 53.
//     Int64  : The greater of  -4 and  54 is 54.
//     Single : The greater of   5 and  55 is 55.
//     Double : The greater of   6 and  56 is 56.
//     Decimal: The greater of   7 and  57 is 57.
//    
//     (The following types are not CLS-compliant.)
//    
//     SByte  : The greater of 101 and 111 is 111.
//     UInt16 : The greater of 102 and 112 is 112.
//     UInt32 : The greater of 103 and 113 is 113.
//     UInt64 : The greater of 104 and 114 is 114.
' This example demonstrates Math.Max()
Class Sample
   Public Shared Sub Main()
      Dim str As String = "{0}: The greater 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 greater of two values:{0}", nl)
      Console.WriteLine(str, "Byte   ", xByte1, xByte2, Math.Max(xByte1, xByte2))
      Console.WriteLine(str, "Int16  ", xShort1, xShort2, Math.Max(xShort1, xShort2))
      Console.WriteLine(str, "Int32  ", xInt1, xInt2, Math.Max(xInt1, xInt2))
      Console.WriteLine(str, "Int64  ", xLong1, xLong2, Math.Max(xLong1, xLong2))
      Console.WriteLine(str, "Single ", xSingle1, xSingle2, Math.Max(xSingle1, xSingle2))
      Console.WriteLine(str, "Double ", xDouble1, xDouble2, Math.Max(xDouble1, xDouble2))
      Console.WriteLine(str, "Decimal", xDecimal1, xDecimal2, Math.Max(xDecimal1, xDecimal2))
      '
      Console.WriteLine("{0}(The following types are not CLS-compliant.){0}", nl)
      Console.WriteLine(str, "SByte  ", xSByte1, xSByte2, Math.Max(xSByte1, xSByte2))
      Console.WriteLine(str, "UInt16 ", xUShort1, xUShort2, Math.Max(xUShort1, xUShort2))
      Console.WriteLine(str, "UInt32 ", xUint1, xUint2, Math.Max(xUint1, xUint2))
      Console.WriteLine(str, "UInt64 ", xUlong1, xUlong2, Math.Max(xUlong1, xUlong2))
   End Sub
End Class
'
'This example produces the following results:
'
'Display the greater of two values:
'
'Byte   : The greater of   1 and  51 is 51.
'Int16  : The greater of  -2 and  52 is 52.
'Int32  : The greater of  -3 and  53 is 53.
'Int64  : The greater of  -4 and  54 is 54.
'Single : The greater of   5 and  55 is 55.
'Double : The greater of   6 and  56 is 56.
'Decimal: The greater of   7 and  57 is 57.
'
' (The following types are not CLS-compliant.)
' 
' SByte  : The greater of 101 and 111 is 111.
' UInt16 : The greater of 102 and 112 is 112.
' UInt32 : The greater of 103 and 113 is 113.
' UInt64 : The greater of 104 and 114 is 114.

Max(UInt64, UInt64)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

重要

此 API 不符合 CLS 規範。

回傳兩個 64 位元無符號整數中較大的那個。

public:
 static System::UInt64 Max(System::UInt64 val1, System::UInt64 val2);
[System.CLSCompliant(false)]
public static ulong Max(ulong val1, ulong val2);
[<System.CLSCompliant(false)>]
static member Max : uint64 * uint64 -> uint64
Public Shared Function Max (val1 As ULong, val2 As ULong) As ULong

參數

val1
UInt64

這是兩個 64 位元無符號整數中的第一個比較。

val2
UInt64

這是兩個 64 位元無符號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

屬性

適用於

Max(UInt32, UInt32)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

重要

此 API 不符合 CLS 規範。

回傳兩個 32 位元無符號整數中較大的那個。

public:
 static System::UInt32 Max(System::UInt32 val1, System::UInt32 val2);
[System.CLSCompliant(false)]
public static uint Max(uint val1, uint val2);
[<System.CLSCompliant(false)>]
static member Max : uint32 * uint32 -> uint32
Public Shared Function Max (val1 As UInteger, val2 As UInteger) As UInteger

參數

val1
UInt32

這是兩個32位元無符號整數中的第一個比較。

val2
UInt32

這是兩個32位元無符號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

屬性

適用於

Max(UInt16, UInt16)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

重要

此 API 不符合 CLS 規範。

回傳兩個16位元無符號整數中較大的那個。

public:
 static System::UInt16 Max(System::UInt16 val1, System::UInt16 val2);
[System.CLSCompliant(false)]
public static ushort Max(ushort val1, ushort val2);
[<System.CLSCompliant(false)>]
static member Max : uint16 * uint16 -> uint16
Public Shared Function Max (val1 As UShort, val2 As UShort) As UShort

參數

val1
UInt16

這是兩個16位元無符號整數中的第一個比較。

val2
UInt16

這是兩個16位元無符號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

屬性

適用於

Max(Single, Single)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個單精度浮點數中較大的那個。

public:
 static float Max(float val1, float val2);
public static float Max(float val1, float val2);
static member Max : single * single -> single
Public Shared Function Max (val1 As Single, val2 As Single) As Single

參數

val1
Single

這是兩個單精度浮點數中的第一個比較。

val2
Single

這是兩個單精度浮點數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。 若 val1val2、 或 、 和 val1val2等於 NaNNaN則返回 。

適用於

Max(SByte, SByte)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

重要

此 API 不符合 CLS 規範。

回傳兩個 8 位元有符號整數中較大的那個。

public:
 static System::SByte Max(System::SByte val1, System::SByte val2);
[System.CLSCompliant(false)]
public static sbyte Max(sbyte val1, sbyte val2);
[<System.CLSCompliant(false)>]
static member Max : sbyte * sbyte -> sbyte
Public Shared Function Max (val1 As SByte, val2 As SByte) As SByte

參數

val1
SByte

這是兩個8位元有號整數中的第一個比較。

val2
SByte

這是兩個 8 位元有號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

屬性

適用於

Max(IntPtr, IntPtr)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個本地帶符號整數中較大的那個。

public:
 static IntPtr Max(IntPtr val1, IntPtr val2);
public static IntPtr Max(IntPtr val1, IntPtr val2);
public static nint Max(nint val1, nint val2);
static member Max : nativeint * nativeint -> nativeint
Public Shared Function Max (val1 As IntPtr, val2 As IntPtr) As IntPtr

參數

val1
IntPtr

nint

nativeint

這是兩個本地有符號整數中的第一個比較。

val2
IntPtr

nint

nativeint

這是兩個本地帶符號整數中的第二個比較。

傳回

IntPtr

nativeint

參數或 val1val2,以較大者為準。

適用於

Max(UIntPtr, UIntPtr)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

重要

此 API 不符合 CLS 規範。

回傳兩個本體無符號整數中較大的那個。

public:
 static UIntPtr Max(UIntPtr val1, UIntPtr val2);
[System.CLSCompliant(false)]
public static UIntPtr Max(UIntPtr val1, UIntPtr val2);
[System.CLSCompliant(false)]
public static nuint Max(nuint val1, nuint val2);
[<System.CLSCompliant(false)>]
static member Max : unativeint * unativeint -> unativeint
Public Shared Function Max (val1 As UIntPtr, val2 As UIntPtr) As UIntPtr

參數

val1
UIntPtr

nuint

unativeint

這是兩個原生無符號整數中的第一個比較。

val2
UIntPtr

nuint

unativeint

這是兩個原生無符號整數中的第二個。

傳回

UIntPtr

unativeint

參數或 val1val2,以較大者為準。

屬性

適用於

Max(Int32, Int32)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個 32 位元有號整數中較大的那個。

public:
 static int Max(int val1, int val2);
public static int Max(int val1, int val2);
static member Max : int * int -> int
Public Shared Function Max (val1 As Integer, val2 As Integer) As Integer

參數

val1
Int32

這是兩個32位元有號整數中的第一個比較。

val2
Int32

這是兩個32位元有號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

適用於

Max(Int16, Int16)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個 16 位元有號整數中較大的那個。

public:
 static short Max(short val1, short val2);
public static short Max(short val1, short val2);
static member Max : int16 * int16 -> int16
Public Shared Function Max (val1 As Short, val2 As Short) As Short

參數

val1
Int16

這是兩個 16 位元有符號整數中的第一個比較。

val2
Int16

這是兩個 16 位元有號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

適用於

Max(Double, Double)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個雙精度浮點數中較大的那個。

public:
 static double Max(double val1, double val2);
public static double Max(double val1, double val2);
static member Max : double * double -> double
Public Shared Function Max (val1 As Double, val2 As Double) As Double

參數

val1
Double

這是兩個雙精度浮點數中的第一個比較。

val2
Double

這是兩個雙精度浮點數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。 若 val1val2或兩者val1val2皆等於 NaNNaN則返回。

適用於

Max(Decimal, Decimal)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個小數中較大的那個。

public:
 static System::Decimal Max(System::Decimal val1, System::Decimal val2);
public static decimal Max(decimal val1, decimal val2);
static member Max : decimal * decimal -> decimal
Public Shared Function Max (val1 As Decimal, val2 As Decimal) As Decimal

參數

val1
Decimal

這是兩個十進位數字中的第一個比較。

val2
Decimal

這是兩個十進位數字中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

適用於

Max(Byte, Byte)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個 8 位元無符號整數中較大的那個。

public:
 static System::Byte Max(System::Byte val1, System::Byte val2);
public static byte Max(byte val1, byte val2);
static member Max : byte * byte -> byte
Public Shared Function Max (val1 As Byte, val2 As Byte) As Byte

參數

val1
Byte

這是兩個 8 位元無符號整數中的第一個比較。

val2
Byte

這是兩個8位元無符號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

適用於

Max(Int64, Int64)

來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs
來源:
Math.cs

回傳兩個 64 位元有號整數中較大的那個。

public:
 static long Max(long val1, long val2);
public static long Max(long val1, long val2);
static member Max : int64 * int64 -> int64
Public Shared Function Max (val1 As Long, val2 As Long) As Long

參數

val1
Int64

這是兩個 64 位元有符號整數中的第一個比較。

val2
Int64

這是兩個 64 位元有號整數中的第二個比較。

傳回

參數或 val1val2,以較大者為準。

適用於