Lire en anglais

Partager via


Convert.ToUInt64 Méthode

Définition

Convertit une valeur spécifiée en entier non signé 64 bits.

Surcharges

ToUInt64(String)

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier non signé 64 bits équivalent.

ToUInt64(UInt16)

Convertit la valeur de l'entier non signé 16 bits spécifié en l'entier non signé 64 bits équivalent.

ToUInt64(UInt32)

Convertit la valeur de l'entier 32 bits non signé spécifié en entier 64 bits non signé équivalent.

ToUInt64(String, IFormatProvider)

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier non signé 64 bits équivalent à l'aide des informations de mise en forme spécifiées propres à la culture.

ToUInt64(Object, IFormatProvider)

Convertit la valeur de l'objet spécifié en entier non signé 64 bits à l'aide des informations de mise en forme spécifiées propres à la culture.

ToUInt64(Single)

Convertit la valeur du nombre à virgule flottante simple précision spécifié en entier non signé 64 bits équivalent.

ToUInt64(String, Int32)

Convertit la représentation sous forme de chaîne d'un nombre dans une base spécifiée en entier non signé 64 bits équivalent.

ToUInt64(UInt64)

Retourne l'entier non signé 64 bits spécifié. Aucune conversion n'est effectuée.

ToUInt64(SByte)

Convertit la valeur de l'entier signé 8 bits spécifié en entier non signé 64 bits équivalent.

ToUInt64(Int16)

Convertit la valeur de l'entier signé 16 bits spécifié en entier non signé 64 bits équivalent.

ToUInt64(Int64)

Convertit la valeur de l'entier signé 64 bits spécifié en entier non signé 64 bits équivalent.

ToUInt64(Int32)

Convertit la valeur de l'entier signé 32 bits spécifié en entier non signé 64 bits équivalent.

ToUInt64(Double)

Convertit la valeur du nombre à virgule flottante double précision spécifié en entier non signé 64 bits équivalent.

ToUInt64(Decimal)

Convertit la valeur du nombre décimal spécifié en entier non signé 64 bits équivalent.

ToUInt64(DateTime)

L'appel de cette méthode lève toujours InvalidCastException.

ToUInt64(Char)

Convertit la valeur du caractère Unicode spécifié en entier non signé 64 bits équivalent.

ToUInt64(Byte)

Convertit la valeur de l'entier non signé 8 bits spécifié en l'entier non signé 64 bits équivalent.

ToUInt64(Boolean)

Convertit la valeur booléenne spécifiée en entier non signé 64 bits équivalent.

ToUInt64(Object)

Convertit la valeur de l'objet spécifié en entier non signé 64 bits.

ToUInt64(String)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (string value);
C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (string? value);

Paramètres

value
String

Chaîne contenant le nombre à convertir.

Retours

Entier signé 64 bits équivalent au nombre dans value, ou 0 (zéro) si value est null.

Attributs

Exceptions

value n’est pas constitué d’un signe facultatif suivi d’une séquence de chiffres (0 à 9).

value représente un nombre inférieur à UInt64.MinValue ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant interprète les éléments d’un tableau de chaînes comme des chaînes numériques et tente de les convertir en entiers longs non signés.

C#
string[] values = { "One", "1.34e28", "-26.87", "-18", "-6.00",
                    " 0", "137", "1601.9", Int32.MaxValue.ToString() };
ulong result;

foreach (string value in values)
{
   try {
      result = Convert.ToUInt64(value);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        value.GetType().Name, value, result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the UInt64 type.", value);
   }
   catch (FormatException) {
      Console.WriteLine("The {0} value '{1}' is not in a recognizable format.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    The String value 'One' is not in a recognizable format.
//    The String value '1.34e28' is not in a recognizable format.
//    The String value '-26.87' is not in a recognizable format.
//    -18 is outside the range of the UInt64 type.
//    The String value '-6.00' is not in a recognizable format.
//    Converted the String value ' 0' to the UInt64 value 0.
//    Converted the String value '137' to the UInt64 value 137.
//    The String value '1601.9' is not in a recognizable format.
//    Converted the String value '2147483647' to the UInt64 value 2147483647.

Remarques

L’utilisation de la ToInt64(String) méthode équivaut à passer value à la Int64.Parse(String) méthode . value est interprété à l’aide des conventions de mise en forme de la culture actuelle.

Si vous préférez ne pas gérer d’exception si la conversion échoue, vous pouvez appeler la méthode à la UInt64.TryParse place. Elle retourne une Boolean valeur qui indique si la conversion a réussi ou échoué.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(UInt16)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier non signé 16 bits spécifié en l'entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (ushort value);

Paramètres

value
UInt16

Entier non signé 16 bits à convertir.

Retours

Entier non signé 64 bits équivalent à value.

Attributs

Exemples

L’exemple suivant convertit chaque élément d’un tableau d’entiers 16 bits non signés en entier long non signé.

C#
ushort[] numbers = { UInt16.MinValue, 121, 340, UInt16.MaxValue };
ulong result;

foreach (ushort number in numbers)
{
   try {
      result = Convert.ToUInt64(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt64 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    Converted the UInt16 value 0 to the UInt64 value 0.
//    Converted the UInt16 value 121 to the UInt64 value 121.
//    Converted the UInt16 value 340 to the UInt64 value 340.
//    Converted the UInt16 value 65535 to the UInt64 value 65535.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(UInt32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier 32 bits non signé spécifié en entier 64 bits non signé équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (uint value);

Paramètres

value
UInt32

Entier non signé 32 bits à convertir.

Retours

Entier non signé 64 bits équivalent à value.

Attributs

Exemples

L’exemple suivant convertit chaque élément d’un tableau d’entiers non signés en entier long non signé.

C#
uint[] numbers = { UInt32.MinValue, 121, 340, UInt32.MaxValue };
ulong result;

foreach (uint number in numbers)
{
   try {
      result = Convert.ToUInt64(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt64 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    Converted the UInt32 value 0 to the UInt64 value 0.
//    Converted the UInt32 value 121 to the UInt64 value 121.
//    Converted the UInt32 value 340 to the UInt64 value 340.
//    Converted the UInt32 value 4294967295 to the UInt64 value 4294967295.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(String, IFormatProvider)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier non signé 64 bits équivalent à l'aide des informations de mise en forme spécifiées propres à la culture.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (string value, IFormatProvider provider);
C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (string? value, IFormatProvider? provider);

Paramètres

value
String

Chaîne contenant le nombre à convertir.

provider
IFormatProvider

Objet qui fournit des informations de mise en forme propres à la culture.

Retours

Entier non signé 64 bits équivalent au nombre dans value, ou 0 (zéro) si value est null.

Attributs

Exceptions

value n’est pas constitué d’un signe facultatif suivi d’une séquence de chiffres (0 à 9).

value représente un nombre inférieur à UInt64.MinValue ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant définit un objet personnalisé NumberFormatInfo qui reconnaît la chaîne « pos » comme signe positif et la chaîne « neg » comme signe négatif. Il tente ensuite de convertir chaque élément d’un tableau de chaînes numériques en entier long non signé. La conversion utilise à la fois le fournisseur personnalisé et le NumberFormatInfo fournisseur pour la culture invariante.

C#
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Create a NumberFormatInfo object and set several properties.
      NumberFormatInfo provider = new NumberFormatInfo();
      provider.PositiveSign = "pos ";
      provider.NegativeSign = "neg ";

      // Define an array of numeric strings.
      string[] values = { "123456789012", "+123456789012",
                          "pos 123456789012", "123456789012.",
                          "123,456,789,012", "18446744073709551615",
                          "18446744073709551616", "neg 1", "-1" };
      //  Convert the strings using the format provider.
      foreach (string value in values)
      {
         Console.Write("{0,-20}  -->  ", value);
         try {
            Console.WriteLine("{0,20}", Convert.ToUInt64(value, provider));
         }
         catch (FormatException) {
            Console.WriteLine("{0,20}", "Invalid Format");
         }
         catch (OverflowException) {
            Console.WriteLine("{0,20}", "Numeric Overflow");
         }
      }
   }
}
// The example displays the following output:
//    123456789012          -->          123456789012
//    +123456789012         -->        Invalid Format
//    pos 123456789012      -->          123456789012
//    123456789012.         -->        Invalid Format
//    123,456,789,012       -->        Invalid Format
//    18446744073709551615  -->  18446744073709551615
//    18446744073709551616  -->      Numeric Overflow
//    neg 1                 -->      Numeric Overflow
//    -1                    -->        Invalid Format

Remarques

La valeur de retour est le résultat de l’appel UInt64.Parse sur value.

provider est une IFormatProvider implémentation qui obtient un NumberFormatInfo objet. L’objet NumberFormatInfo fournit des informations spécifiques à la culture sur le format de value. Si provider est null, l’objet NumberFormatInfo de la culture actuelle est utilisé.

Si vous préférez ne pas gérer d’exception si la conversion échoue, vous pouvez appeler la méthode à la UInt64.TryParse place. Elle retourne une Boolean valeur qui indique si la conversion a réussi ou échoué.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Object, IFormatProvider)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'objet spécifié en entier non signé 64 bits à l'aide des informations de mise en forme spécifiées propres à la culture.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (object value, IFormatProvider provider);
C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (object? value, IFormatProvider? provider);

Paramètres

value
Object

Objet qui implémente l'interface IConvertible.

provider
IFormatProvider

Objet qui fournit des informations de mise en forme propres à la culture.

Retours

Entier non signé 64 bits équivalent à value, ou zéro si value est null.

Attributs

Exceptions

value n’a pas un format approprié.

value n’implémente pas l’interface IConvertible .

- ou -

La conversion n’est pas prise en charge.

value représente un nombre inférieur à UInt64.MinValue ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant définit une HexString classe qui implémente l’interface IConvertible et qui est conçue pour contenir la représentation sous forme de chaîne de valeurs signées 64 bits et 64 bits non signées. La classe inclut une Sign propriété qui indique le signe de sa valeur hexadécimale.

C#
using System;
using System.Globalization;
using System.Text.RegularExpressions;

public enum SignBit { Negative=-1, Zero=0, Positive=1 };

public struct HexString : IConvertible
{
   private SignBit signBit;
   private string hexString;

   public SignBit Sign
   {
      set { signBit = value; }
      get { return signBit; }
   }

   public string Value
   {
      set
      {
         if (value.Trim().Length > 16)
            throw new ArgumentException("The hexadecimal representation of a 64-bit integer cannot have more than 16 characters.");
         else if (! Regex.IsMatch(value, "([0-9,A-F]){1,8}", RegexOptions.IgnoreCase))
            throw new ArgumentException("The hexadecimal representation of a 64-bit integer contains invalid characters.");
         else
            hexString = value;
      }
      get { return hexString; }
   }

   // IConvertible implementations.
   public TypeCode GetTypeCode()
   {
      return TypeCode.Object;
   }

   public bool ToBoolean(IFormatProvider provider)
   {
      return signBit != SignBit.Zero;
   }

   public byte ToByte(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is out of range of the Byte type.", Convert.ToInt64(hexString, 16)));
      else
         try {
            return Byte.Parse(hexString, NumberStyles.HexNumber);
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Byte type.", Convert.ToUInt64(hexString, 16)), e);
         }
   }

   public char ToChar(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is out of range of the Char type.", Convert.ToInt64(hexString, 16)));

      try {
         ushort codePoint = UInt16.Parse(this.hexString, NumberStyles.HexNumber);
         return Convert.ToChar(codePoint);
      }
      catch (OverflowException) {
         throw new OverflowException(String.Format("{0} is out of range of the Char type.", Convert.ToUInt64(hexString, 16)));
      }
   }

   public DateTime ToDateTime(IFormatProvider provider)
   {
      throw new InvalidCastException("Hexadecimal to DateTime conversion is not supported.");
   }

   public decimal ToDecimal(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
      {
         long hexValue = Int64.Parse(hexString, NumberStyles.HexNumber);
         return Convert.ToDecimal(hexValue);
      }
      else
      {
         ulong hexValue = UInt64.Parse(hexString, NumberStyles.HexNumber);
         return Convert.ToDecimal(hexValue);
      }
   }

   public double ToDouble(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToDouble(Int64.Parse(hexString, NumberStyles.HexNumber));
      else
         return Convert.ToDouble(UInt64.Parse(hexString, NumberStyles.HexNumber));
   }

   public short ToInt16(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         try {
            return Convert.ToInt16(Int64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int16 type.", Convert.ToInt64(hexString, 16)), e);
         }
      else
         try {
            return Convert.ToInt16(UInt64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int16 type.", Convert.ToUInt64(hexString, 16)), e);
         }
   }

   public int ToInt32(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         try {
            return Convert.ToInt32(Int64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int32 type.", Convert.ToUInt64(hexString, 16)), e);
         }
      else
         try {
            return Convert.ToInt32(UInt64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int32 type.", Convert.ToUInt64(hexString, 16)), e);
         }
   }

   public long ToInt64(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Int64.Parse(hexString, NumberStyles.HexNumber);
      else
         try {
            return Convert.ToInt64(UInt64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the Int64 type.", Convert.ToUInt64(hexString, 16)), e);
         }
   }

   public sbyte ToSByte(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         try {
            return Convert.ToSByte(Int64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is outside the range of the SByte type.",
                                                      Int64.Parse(hexString, NumberStyles.HexNumber), e));
         }
      else
         try {
            return Convert.ToSByte(UInt64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is outside the range of the SByte type.",
                                                    UInt64.Parse(hexString, NumberStyles.HexNumber)), e);
         }
   }

   public float ToSingle(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         return Convert.ToSingle(Int64.Parse(hexString, NumberStyles.HexNumber));
      else
         return Convert.ToSingle(UInt64.Parse(hexString, NumberStyles.HexNumber));
   }

   public string ToString(IFormatProvider provider)
   {
      return "0x" + this.hexString;
   }

   public object ToType(Type conversionType, IFormatProvider provider)
   {
      switch (Type.GetTypeCode(conversionType))
      {
         case TypeCode.Boolean:
            return this.ToBoolean(null);
         case TypeCode.Byte:
            return this.ToByte(null);
         case TypeCode.Char:
            return this.ToChar(null);
         case TypeCode.DateTime:
            return this.ToDateTime(null);
         case TypeCode.Decimal:
            return this.ToDecimal(null);
         case TypeCode.Double:
            return this.ToDouble(null);
         case TypeCode.Int16:
            return this.ToInt16(null);
         case TypeCode.Int32:
            return this.ToInt32(null);
         case TypeCode.Int64:
            return this.ToInt64(null);
         case TypeCode.Object:
            if (typeof(HexString).Equals(conversionType))
               return this;
            else
               throw new InvalidCastException(String.Format("Conversion to a {0} is not supported.", conversionType.Name));
         case TypeCode.SByte:
            return this.ToSByte(null);
         case TypeCode.Single:
            return this.ToSingle(null);
         case TypeCode.String:
            return this.ToString(null);
         case TypeCode.UInt16:
            return this.ToUInt16(null);
         case TypeCode.UInt32:
            return this.ToUInt32(null);
         case TypeCode.UInt64:
            return this.ToUInt64(null);
         default:
            throw new InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name));
      }
   }

   public ushort ToUInt16(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt16 type.",
                                                   Int64.Parse(hexString, NumberStyles.HexNumber)));
      else
         try {
            return Convert.ToUInt16(UInt64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException e) {
            throw new OverflowException(String.Format("{0} is out of range of the UInt16 type.", Convert.ToUInt64(hexString, 16)), e);
         }
   }

   public uint ToUInt32(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt32 type.",
                                                   Int64.Parse(hexString, NumberStyles.HexNumber)));
      else
         try {
            return Convert.ToUInt32(UInt64.Parse(hexString, NumberStyles.HexNumber));
         }
         catch (OverflowException) {
            throw new OverflowException(String.Format("{0} is outside the range of the UInt32 type.",
                                                      UInt64.Parse(hexString, NumberStyles.HexNumber)));
         }
   }

   public ulong ToUInt64(IFormatProvider provider)
   {
      if (signBit == SignBit.Negative)
         throw new OverflowException(String.Format("{0} is outside the range of the UInt64 type.",
                                                   Int64.Parse(hexString, NumberStyles.HexNumber)));
      else
         return Convert.ToUInt64(hexString, 16);
   }
}

L’exemple suivant montre qu’un appel à la ToUInt64(Object, IFormatProvider) méthode qui passe un HexString objet en tant que paramètre appelle à son tour l’implémentation IConvertible.ToUInt64 de la HexString classe .

C#
public class Example
{
   public static void Main()
   {
      ulong positiveValue = UInt64.MaxValue - 100000;
      long negativeValue = -1;

      HexString positiveString = new HexString();
      positiveString.Sign = (SignBit) Math.Sign((decimal)positiveValue);
      positiveString.Value = positiveValue.ToString("X");

      HexString negativeString = new HexString();
      negativeString.Sign = (SignBit) Math.Sign(negativeValue);
      negativeString.Value = negativeValue.ToString("X");

      try {
         Console.WriteLine("0x{0} converts to {1}.", positiveString.Value, Convert.ToUInt64(positiveString));
      }
      catch (OverflowException) {
         Console.WriteLine("{0} is outside the range of the UInt64 type.",
                           Int64.Parse(positiveString.Value, NumberStyles.HexNumber));
      }

      try {
         Console.WriteLine("0x{0} converts to {1}.", negativeString.Value, Convert.ToUInt64(negativeString));
      }
      catch (OverflowException) {
         Console.WriteLine("{0} is outside the range of the UInt64 type.",
                           Int64.Parse(negativeString.Value, NumberStyles.HexNumber));
      }
   }
}
// The example displays the following output:
//       0xFFFFFFFFFFFE795F converts to 18446744073709451615.
//       -1 is outside the range of the UInt64 type.

Remarques

La valeur de retour est le résultat de l’appel de la IConvertible.ToUInt64 méthode du type sous-jacent de value.

provider permet à l’utilisateur de spécifier des informations de conversion spécifiques à la culture sur le contenu de value. Par exemple, si value est un String qui représente un nombre, provider peut fournir des informations spécifiques à la culture sur la notation utilisée pour représenter ce nombre.

Les types de base ignorent provider; toutefois, le paramètre peut être utilisé si value est un type défini par l’utilisateur qui implémente l’interface IConvertible .

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Single)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur du nombre à virgule flottante simple précision spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (float value);

Paramètres

value
Single

Nombre à virgule flottante simple précision à convertir.

Retours

value, arrondi à l’entier non signé 64 bits le plus proche. Si value se trouve entre deux nombres entiers, le nombre pair est retourné (par exemple, 4,5 est converti en 4 et 5,5 en 6).

Attributs

Exceptions

value est inférieur à zéro ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau de Single valeurs en entier long non signé. La sortie indique que les valeurs fractionnaires sont arrondies avant l’exécution de la conversion.

C#
float[] values= { Single.MinValue, -1.38e10f, -1023.299f, -12.98f,
                  0f, 9.113e-16f, 103.919f, 17834.191f, Single.MaxValue };
ulong result;

foreach (float value in values)
{
   try {
      result = Convert.ToUInt64(value);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        value.GetType().Name, value, result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the UInt64 type.", value);
   }
}
// The example displays the following output:
//    -3.402823E+38 is outside the range of the UInt64 type.
//    -1.38E+10 is outside the range of the UInt64 type.
//    -1023.299 is outside the range of the UInt64 type.
//    -12.98 is outside the range of the UInt64 type.
//    Converted the Single value 0 to the UInt64 value 0.
//    Converted the Single value 9.113E-16 to the UInt64 value 0.
//    Converted the Single value 103.919 to the UInt64 value 104.
//    Converted the Single value 17834.19 to the UInt64 value 17834.
//    3.402823E+38 is outside the range of the UInt64 type.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(String, Int32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la représentation sous forme de chaîne d'un nombre dans une base spécifiée en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (string value, int fromBase);
C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (string? value, int fromBase);

Paramètres

value
String

Chaîne contenant le nombre à convertir.

fromBase
Int32

Base du nombre figurant dans value, qui doit correspondre à 2, 8, 10 ou 16.

Retours

Entier non signé 64 bits équivalent au nombre dans value, ou 0 (zéro) si value est null.

Attributs

Exceptions

fromBase n’a pas la valeur 2, 8, 10 ou 16.

- ou -

value, qui représente un nombre non signé autre qu’en base 10, est préfixé avec un signe négatif.

value a la valeur Empty.

value contient un caractère qui n’est pas un chiffre valide dans la base spécifiée par fromBase. Le message d’exception indique qu’il n’y a pas de chiffres à convertir si le premier caractère dans value n’est pas valide ; sinon, le message indique que value contient des caractères de fin non valides.

value, qui représente un nombre non signé autre qu’en base 10, est préfixé avec un signe négatif.

- ou -

value représente un nombre inférieur à UInt64.MinValue ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant tente d’interpréter chaque élément d’un tableau de chaînes numériques en tant que valeur hexadécimale et de le convertir en entier long non signé.

C#
using System;

public class Example
{
   public static void Main()
   {
      string[] hexStrings = { "8000000000000000", "0FFFFFFFFFFFFFFF",
                              "F000000000000000", "00A3000000000000",
                              "D", "-13", "9AC61", "GAD",
                              "FFFFFFFFFFFFFFFFF" };

      foreach (string hexString in hexStrings)
      {
         Console.Write("{0,-18}  -->  ", hexString);
         try {
            ulong number = Convert.ToUInt64(hexString, 16);
            Console.WriteLine("{0,26:N0}", number);
         }
         catch (FormatException) {
            Console.WriteLine("{0,26}", "Bad Format");
         }
         catch (OverflowException) {
            Console.WriteLine("{0,26}", "Numeric Overflow");
         }
         catch (ArgumentException) {
            Console.WriteLine("{0,26}", "Invalid in Base 16");
         }
      }
   }
}
// The example displays the following output:
//    8000000000000000    -->   9,223,372,036,854,775,808
//    0FFFFFFFFFFFFFFF    -->   1,152,921,504,606,846,975
//    F000000000000000    -->  17,293,822,569,102,704,640
//    00A3000000000000    -->      45,880,421,203,836,928
//    D                   -->                          13
//    -13                 -->          Invalid in Base 16
//    9AC61               -->                     633,953
//    GAD                 -->                  Bad Format
//    FFFFFFFFFFFFFFFFF   -->            Numeric Overflow

Remarques

Si fromBase a la valeur 16, vous pouvez préfixer le nombre spécifié par le value paramètre avec « 0x » ou « 0X ».

Étant donné que le UInt64 type de données prend uniquement en charge les valeurs non signées, la ToUInt64(String, Int32) méthode suppose que value est exprimée à l’aide de la représentation binaire non signée. En d’autres termes, tous les 64 bits sont utilisés pour représenter la valeur numérique, et un bit de signe est absent. Par conséquent, il est possible d’écrire du code dans lequel une valeur entière longue signée hors de la plage du type de UInt64 données est convertie en valeur UInt64 sans que la méthode lève une exception. L’exemple suivant convertit MinValue en sa représentation sous forme de chaîne hexadécimale, puis appelle la ToUInt64(String, Int32) méthode . Au lieu de lever une exception, la méthode affiche le message « 0x8000000000000000 convertit en 9223372036854775808 ».

C#
// Create a hexadecimal value out of range of the UInt64 type.
string value = Convert.ToString(Int64.MinValue, 16);
// Convert it back to a number.
try
{
   UInt64 number = Convert.ToUInt64(value, 16);
   Console.WriteLine("0x{0} converts to {1}.", value, number);
}
catch (OverflowException)
{
   Console.WriteLine("Unable to convert '0x{0}' to an unsigned long integer.",
                     value);
}

Lors de l’exécution d’opérations binaires ou de conversions numériques, il incombe toujours au développeur de vérifier qu’une méthode ou un opérateur utilise la représentation numérique appropriée pour interpréter une valeur particulière. L’exemple suivant illustre une technique permettant de s’assurer que la méthode n’utilise pas de manière inappropriée la représentation binaire pour interpréter une valeur qui utilise la représentation complémentaire de deux lors de la conversion d’une chaîne hexadécimale en valeur UInt64 . L’exemple détermine si une valeur représente un entier signé ou non signé pendant la conversion de cette valeur en sa représentation sous forme de chaîne. Lorsque l’exemple convertit la valeur en valeur UInt64 , il vérifie si la valeur d’origine était un entier signé. Si c’est le cas, et si son bit d’ordre élevé est défini (ce qui indique que la valeur d’origine était négative), la méthode lève une exception.

C#
// Create a negative hexadecimal value out of range of the UInt64 type.
long sourceNumber = Int64.MinValue;
bool isSigned = Math.Sign((long)sourceNumber.GetType().GetField("MinValue").GetValue(null)) == -1;
string value = Convert.ToString(sourceNumber, 16);
UInt64 targetNumber;
try
{
   targetNumber = Convert.ToUInt64(value, 16);
   if (isSigned && ((targetNumber & 0x8000000000000000) != 0))
      throw new OverflowException();
   else
      Console.WriteLine("0x{0} converts to {1}.", value, targetNumber);
}
catch (OverflowException)
{
   Console.WriteLine("Unable to convert '0x{0}' to an unsigned long integer.",
                     value);
}
// Displays the following to the console:
//    Unable to convert '0x8000000000000000' to an unsigned long integer.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(UInt64)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Retourne l'entier non signé 64 bits spécifié. Aucune conversion n'est effectuée.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (ulong value);

Paramètres

value
UInt64

Entier non signé 64 bits à retourner.

Retours

value est retourné sans modification.

Attributs

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(SByte)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier signé 8 bits spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (sbyte value);

Paramètres

value
SByte

Entier signé 8 bits à convertir.

Retours

Entier non signé 64 bits équivalent à value.

Attributs

Exceptions

value est inférieur à zéro.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’octets signé en entier long non signé.

C#
sbyte[] numbers = { SByte.MinValue, -1, 0, 10, SByte.MaxValue };
ulong result;

foreach (sbyte number in numbers)
{
   try {
      result = Convert.ToUInt64(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt64 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The SByte value -128 is outside the range of the UInt64 type.
//    The SByte value -1 is outside the range of the UInt64 type.
//    Converted the SByte value 0 to the UInt64 value 0.
//    Converted the SByte value 10 to the UInt64 value 10.
//    Converted the SByte value 127 to the UInt64 value 127.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Int16)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier signé 16 bits spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (short value);

Paramètres

value
Int16

Entier signé 16 bits à convertir.

Retours

Entier non signé 64 bits équivalent à value.

Attributs

Exceptions

value est inférieur à zéro.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’entiers 16 bits en entier long non signé.

C#
short[] numbers= { Int16.MinValue, -1, 0, 121, 340, Int16.MaxValue };
ulong result;

foreach (short number in numbers)
{
   try {
      result = Convert.ToUInt64(number);
      Console.WriteLine("Converted the {0} value {1} to a {2} value {3}.",
                           number.GetType().Name, number,
                           result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the UInt64 type.", number);
   }
}
// The example displays the following output:
//    -32768 is outside the range of the UInt64 type.
//    -1 is outside the range of the UInt64 type.
//    Converted the Int16 value 0 to a UInt64 value 0.
//    Converted the Int16 value 121 to a UInt64 value 121.
//    Converted the Int16 value 340 to a UInt64 value 340.
//    Converted the Int16 value 32767 to a UInt64 value 32767.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Int64)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier signé 64 bits spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (long value);

Paramètres

value
Int64

Entier signé 64 bits à convertir.

Retours

Entier non signé 64 bits équivalent à value.

Attributs

Exceptions

value est inférieur à zéro.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’entiers longs en entier long non signé.

C#
long[] numbers = { Int64.MinValue, -19432, -18, 0, 121, 340, Int64.MaxValue };
ulong result;
foreach (long number in numbers)
{
   try {
      result = Convert.ToUInt64(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt64 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The Int64 value -9223372036854775808 is outside the range of the UInt64 type.
//    The Int64 value -19432 is outside the range of the UInt64 type.
//    The Int64 value -18 is outside the range of the UInt64 type.
//    Converted the Int64 value 0 to the UInt64 value 0.
//    Converted the Int64 value 121 to the UInt64 value 121.
//    Converted the Int64 value 340 to the UInt64 value 340.
//    Converted the Int64 value 9223372036854775807 to a UInt64 value 9223372036854775807.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Int32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier signé 32 bits spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (int value);

Paramètres

value
Int32

Entier signé 32 bits à convertir.

Retours

Entier non signé 64 bits équivalent à value.

Attributs

Exceptions

value est inférieur à zéro.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’entiers en entier long non signé.

C#
int[] numbers = { Int32.MinValue, -1, 0, 121, 340, Int32.MaxValue };
ulong result;

foreach (int number in numbers)
{
   try {
      result = Convert.ToUInt64(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt64 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The Int32 value -2147483648 is outside the range of the UInt64 type.
//    The Int32 value -1 is outside the range of the UInt64 type.
//    Converted the Int32 value 0 to the UInt64 value 0.
//    Converted the Int32 value 121 to the UInt64 value 121.
//    Converted the Int32 value 340 to the UInt64 value 340.
//    Converted the Int32 value 2147483647 to the UInt64 value 2147483647.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Double)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur du nombre à virgule flottante double précision spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (double value);

Paramètres

value
Double

Nombre à virgule flottante double précision à convertir.

Retours

value, arrondi à l’entier non signé 64 bits le plus proche. Si value se trouve entre deux nombres entiers, le nombre pair est retourné (par exemple, 4,5 est converti en 4 et 5,5 en 6).

Attributs

Exceptions

value est inférieur à zéro ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau de Double valeurs en entier long non signé.

C#
double[] values= { Double.MinValue, -1.38e10, -1023.299, -12.98,
                   0, 9.113e-16, 103.919, 17834.191, Double.MaxValue };
ulong result;

foreach (double value in values)
{
   try {
      result = Convert.ToUInt64(value);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        value.GetType().Name, value,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the UInt64 type.", value);
   }
}
// The example displays the following output:
//    -1.79769313486232E+308 is outside the range of the UInt64 type.
//    -13800000000 is outside the range of the UInt64 type.
//    -1023.299 is outside the range of the UInt64 type.
//    -12.98 is outside the range of the UInt64 type.
//    Converted the Double value '0' to the UInt64 value 0.
//    Converted the Double value '9.113E-16' to the UInt64 value 0.
//    Converted the Double value '103.919' to the UInt64 value 104.
//    Converted the Double value '17834.191' to the UInt64 value 17834.
//    1.79769313486232E+308 is outside the range of the UInt64 type.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Decimal)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur du nombre décimal spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (decimal value);

Paramètres

value
Decimal

Nombre décimal à convertir.

Retours

value, arrondi à l’entier non signé 64 bits le plus proche. Si value se trouve entre deux nombres entiers, le nombre pair est retourné (par exemple, 4,5 est converti en 4 et 5,5 en 6).

Attributs

Exceptions

value est inférieur à zéro ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau de Decimal valeurs en entier long non signé.

C#
decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                    199.55m, 9214.16m, Decimal.MaxValue };
ulong result;

foreach (decimal value in values)
{
   try {
      result = Convert.ToUInt64(value);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        value.GetType().Name, value,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the UInt64 type.",
                        value);
   }
}
// The example displays the following output:
//    -79228162514264337593543950335 is outside the range of the UInt64 type.
//    -1034.23 is outside the range of the UInt64 type.
//    -12 is outside the range of the UInt64 type.
//    Converted the Decimal value '0' to the UInt64 value 0.
//    Converted the Decimal value '147' to the UInt64 value 147.
//    Converted the Decimal value '199.55' to the UInt64 value 200.
//    Converted the Decimal value '9214.16' to the UInt64 value 9214.
//    79228162514264337593543950335 is outside the range of the UInt64 type.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(DateTime)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

L'appel de cette méthode lève toujours InvalidCastException.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (DateTime value);

Paramètres

value
DateTime

Valeur de date et heure à convertir.

Retours

Cette conversion n'est pas prise en charge. Aucune valeur n’est retournée.

Attributs

Exceptions

Cette conversion n'est pas prise en charge.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

ToUInt64(Char)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur du caractère Unicode spécifié en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (char value);

Paramètres

value
Char

Caractère Unicode à convertir.

Retours

Entier non signé 64 bits équivalent à value.

Attributs

Exemples

L’exemple suivant convertit chaque élément d’un tableau de caractères en entier long non signé.

C#
char[] chars = { 'a', 'z', '\u0007', '\u03FF',
                 '\u7FFF', '\uFFFE' };
ulong result;

foreach (char ch in chars)
{
   result = Convert.ToUInt64(ch);
   Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                     ch.GetType().Name, ch,
                     result.GetType().Name, result);
}
// The example displays the following output:
//    Converted the Char value 'a' to the UInt64 value 97.
//    Converted the Char value 'z' to the UInt64 value 122.
//    Converted the Char value '' to the UInt64 value 7.
//    Converted the Char value '?' to the UInt64 value 1023.
//    Converted the Char value '?' to the UInt64 value 32767.
//    Converted the Char value '?' to the UInt64 value 65534.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Byte)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier non signé 8 bits spécifié en l'entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (byte value);

Paramètres

value
Byte

Entier non signé 8 bits à convertir.

Retours

Entier signé 64 bits équivalent à value.

Attributs

Exemples

L’exemple suivant convertit chaque élément d’un tableau d’octets en entier long non signé.

C#
byte[] bytes = { Byte.MinValue, 14, 122, Byte.MaxValue};
ulong result;

foreach (byte byteValue in bytes)
{
   result = Convert.ToUInt64(byteValue);
   Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                     byteValue.GetType().Name, byteValue,
                     result.GetType().Name, result);
}
// The example displays the following output:
//    Converted the Byte value 0 to the UInt64 value 0.
//    Converted the Byte value 14 to the UInt64 value 14.
//    Converted the Byte value 122 to the UInt64 value 122.
//    Converted the Byte value 255 to the UInt64 value 255.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Boolean)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur booléenne spécifiée en entier non signé 64 bits équivalent.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (bool value);

Paramètres

value
Boolean

Valeur booléenne à convertir.

Retours

Chiffre 1, si value est true ; sinon, 0.

Attributs

Exemples

L’exemple suivant convertit des valeurs booléennes true et false des valeurs en entiers longs non signés.

C#
bool falseFlag = false;
bool trueFlag = true;

Console.WriteLine("{0} converts to {1}.", falseFlag,
                  Convert.ToUInt64(falseFlag));
Console.WriteLine("{0} converts to {1}.", trueFlag,
                  Convert.ToUInt64(trueFlag));
// The example displays the following output:
//       False converts to 0.
//       True converts to 1.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToUInt64(Object)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'objet spécifié en entier non signé 64 bits.

C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (object value);
C#
[System.CLSCompliant(false)]
public static ulong ToUInt64 (object? value);

Paramètres

value
Object

Objet qui implémente l'interface IConvertible ou null.

Retours

Entier non signé 64 bits équivalent à value, ou zéro si value est null.

Attributs

Exceptions

value n’a pas un format approprié.

value n’implémente pas l’interface IConvertible .

- ou -

La conversion n’est pas prise en charge.

value représente un nombre inférieur à UInt64.MinValue ou supérieur à UInt64.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’objets en entier long non signé.

C#
object[] values = { true, -12, 163, 935, 'x', new DateTime(2009, 5, 12),
                    "104", "103.0", "-1",
                    "1.00e2", "One", 1.00e2, 16.3e42};
ulong result;

foreach (object value in values)
{
   try {
      result = Convert.ToUInt64(value);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        value.GetType().Name, value,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the UInt64 type.",
                        value.GetType().Name, value);
   }
   catch (FormatException) {
      Console.WriteLine("The {0} value {1} is not in a recognizable format.",
                        value.GetType().Name, value);
   }
   catch (InvalidCastException) {
      Console.WriteLine("No conversion to a UInt64 exists for the {0} value {1}.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    Converted the Boolean value True to the UInt64 value 1.
//    The Int32 value -12 is outside the range of the UInt64 type.
//    Converted the Int32 value 163 to the UInt64 value 163.
//    Converted the Int32 value 935 to the UInt64 value 935.
//    Converted the Char value x to the UInt64 value 120.
//    No conversion to a UInt64 exists for the DateTime value 5/12/2009 12:00:00 AM.
//    Converted the String value 104 to the UInt64 value 104.
//    The String value 103.0 is not in a recognizable format.
//    The String value -1 is outside the range of the UInt64 type.
//    The String value 1.00e2 is not in a recognizable format.
//    The String value One is not in a recognizable format.
//    Converted the Double value 100 to the UInt64 value 100.
//    The Double value 1.63E+43 is outside the range of the UInt64 type.

Remarques

La valeur de retour est le résultat de l’appel de la IConvertible.ToUInt64 méthode du type sous-jacent de value.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0