Redigeeri

Jagamisviis:


UInt64.MaxValue Field

Definition

Represents the largest possible value of UInt64. This field is constant.

public: System::UInt64 MaxValue = 18446744073709551615;
public const ulong MaxValue = 18446744073709551615;
val mutable MaxValue : uint64
Public Const MaxValue As ULong  = 18446744073709551615

Field Value

Value = 18446744073709551615

Examples

The following example uses the MinValue and MaxValue fields to verify that a Double value is within the range of the UInt64 type before it performs a type conversion. This prevents an OverflowException at run time.

double decimalValue = -1.5;
ulong integerValue; 

// Discard fractional portion of Double value
double decimalInteger = Math.Floor(decimalValue);

if (decimalInteger <= ulong.MaxValue && 
    decimalInteger >= ulong.MinValue)
{    
   integerValue = (ulong) decimalValue;
   Console.WriteLine("Converted {0} to {1}.", decimalValue, integerValue);
}   
else
{
   ulong rangeLimit;
   string relationship;
   
   if (decimalInteger > ulong.MaxValue)
   {
      rangeLimit = ulong.MaxValue;
      relationship = "greater";
   }   
   else
   {
      rangeLimit = ulong.MinValue;
      relationship = "less";
   }       

   Console.WriteLine("Conversion failure: {0} is {1} than {2}.",  
                     decimalInteger, 
                     relationship, 
                     rangeLimit);
}
open System

let decimalValue = -1.5

// Discard fractional portion of Double value
let decimalInteger = floor decimalValue

if decimalInteger <= float UInt64.MaxValue && decimalInteger >= float UInt64.MinValue then
    let integerValue = uint64 decimalValue
    printfn $"Converted {decimalValue} to {integerValue}."
else
    let rangeLimit, relationship =
        if decimalInteger > float UInt64.MaxValue then
            UInt64.MaxValue, "greater"
        else
            UInt64.MinValue, "less"

    printfn $"Conversion failure: {decimalInteger} is {relationship} than {rangeLimit}."
Dim decimalValue As Double = -1.5
Dim integerValue As ULong 

' Discard fractional portion of Double value
Dim decimalInteger As Double = Math.Floor(decimalValue)

If decimalInteger <= ULong.MaxValue AndAlso _
   decimalInteger >= ULong.MinValue Then
   integerValue = CULng(decimalValue)
   Console.WriteLine("Converted {0} to {1}.", decimalValue, integerValue)
Else
   Dim rangeLimit As ULong
   Dim relationship As String
   
   If decimalInteger > ULong.MaxValue Then
      rangeLimit = ULong.MaxValue
      relationship = "greater"
   Else
      rangeLimit = ULong.MinValue
      relationship = "less"
   End If       

   Console.WriteLine("Conversion failure: {0} is {1} than {2}", _ 
                     decimalInteger, _
                     relationship, _
                     rangeLimit)
End If

Remarks

The value of this constant is 18,446,744,073,709,551,615; that is, hexadecimal 0xFFFFFFFFFFFFFFFF.

Applies to

See also