Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Estructura Int64

 

Publicado: octubre de 2016

Representa un entero de 64 bits con signo.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Int64 : IComparable, IFormattable, IConvertible, 
	IComparable<long>, IEquatable<long>

NombreDescripción
System_CAPS_pubmethodCompareTo(Int64)

Compara esta instancia con un entero de 64 bits con signo y devuelve una indicación de los valores relativos.

System_CAPS_pubmethodCompareTo(Object)

Compara esta instancia con un objeto especificado y devuelve una indicación de los valores relativos.

System_CAPS_pubmethodEquals(Int64)

Devuelve un valor que indica si esta instancia equivale a un valor de Int64 especificado.

System_CAPS_pubmethodEquals(Object)

Devuelve un valor que indica si esta instancia equivale a un objeto especificado.(Invalida ValueType.Equals(Object)).

System_CAPS_pubmethodGetHashCode()

Devuelve el código hash de esta instancia.(Invalida ValueType.GetHashCode()).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodGetTypeCode()

Devuelve el TypeCode para el tipo de valor Int64.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Convierte la representación en forma de cadena de un número en el entero de 64 bits con signo equivalente.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

Convierte la representación en forma de cadena de un número en el formato específico de la referencia cultural que se haya especificado en el entero de 64 bits con signo equivalente.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles)

Convierte la representación en forma de cadena de un número con el estilo especificado en el entero de 64 bits con signo equivalente.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, NumberStyles, IFormatProvider)

Convierte la representación en forma de cadena de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en el entero de 64 bits con signo equivalente.

System_CAPS_pubmethodToString()

Convierte el valor numérico de esta instancia en la representación de cadena equivalente.(Invalida ValueType.ToString()).

System_CAPS_pubmethodToString(IFormatProvider)

Convierte el valor numérico de esta instancia en la representación de cadena equivalente usando la información de formato específica de la referencia cultural especificada.

System_CAPS_pubmethodToString(String)

Convierte el valor numérico de esta instancia en la representación de cadena equivalente usando el formato especificado.

System_CAPS_pubmethodToString(String, IFormatProvider)

Convierte el valor numérico de esta instancia en su representación de cadena equivalente mediante el formato y la información de formato específica de la referencia cultural que se especificaran.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Int64)

Convierte la representación en forma de cadena de un número en el entero de 64 bits con signo equivalente. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, NumberStyles, IFormatProvider, Int64)

Convierte la representación en forma de cadena de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en el entero de 64 bits con signo equivalente. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.

NombreDescripción
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Representa el mayor valor posible de un Int64. Este campo es constante.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Representa el menor valor posible de Int64. Este campo es constante.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToBoolean.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToChar.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. No se admite esta conversión. Cualquier intento de usar este método produce una excepción InvalidCastException.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToDecimal.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToDouble.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToInt64.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToSByte.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToSingle.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToType.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToUInt16.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToUInt32.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Para una descripción de este miembro, vea IConvertible.ToUInt64.

System_CAPS_noteNota

Para ver el código fuente de .NET Framework para este tipo, consulte el Reference Source. Puede examinar el código fuente en línea, descargue la referencia para verla sin conexión y recorrer (incluidas las revisiones y actualizaciones) durante la depuración; see instructions.

Int64 es un tipo de valor inmutable que representa enteros con signo con valores comprendidos entre el 9.223.372.036.854.775.808 negativo (que está representado por la Int64.MinValue constante) 9.223.372.036.854.775.807 positivo (que está representado por la Int64.MaxValue constante. .NET Framework también incluye un tipo de valor entero de 64 bits sin signo, UInt64, que representa los valores comprendidos entre 0 y 18.446.744.073.709.551.615.

Puede crear instancias de un Int64 valor de varias maneras:

  • Puede declarar un Int64 variable y asignar un valor literal entero que está dentro del intervalo de la Int64 tipo de datos. En el ejemplo siguiente se declara dos Int64 variables y les asigna los valores de esta manera.

    long number1 = -64301728;
    long number2 = 255486129307;
    
  • Puede asignar el valor de tipo entero cuyo intervalo es un subconjunto de la Int64 tipo. Se trata de una conversión de ampliación que no requiere un operador de conversión en C# o un método de conversión de Visual Basic.

    sbyte value1 = 124;
    short value2 = 1618;
    int value3 = Int32.MaxValue;
    
    long number1 = value1;
    long number2 = value2;
    long number3 = value3;
    
  • Puede asignar el valor de un tipo numérico cuyo intervalo que excede de la Int64 tipo. Se trata de una conversión de restricción, por lo que requiere un operador de conversión en C# y un método de conversión de Visual Basic si OptionStrict se encuentra en. Si el valor numérico es una Single, Double, o Decimal valor que incluye un componente fraccionario, el control de su parte fraccionaria depende el compilador realiza la conversión. El ejemplo siguiente realiza las conversiones de restricción para asignar varios valores numéricos a Int64 variables.

    ulong ulNumber = 163245617943825;
    try {
       long number1 = (long) ulNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", ulNumber);
    }
    
    double dbl2 = 35901.997;
    try {
       long number2 = (long) dbl2;
       Console.WriteLine(number2);
    }   
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", dbl2);
    }
    
    BigInteger bigNumber = (BigInteger) 1.63201978555e30;
    try {
       long number3 = (long) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int64.", bigNumber);
    }    
    // The example displays the following output:
    //    163245617943825
    //    35902
    //    1,632,019,785,549,999,969,612,091,883,520 is out of range of an Int64.
    
  • Puede llamar a un método de la Convert admite la clase para convertir cualquier tipo a un Int64 valor. Esto es posible porque Int64 es compatible con la IConvertible interfaz. En el ejemplo siguiente se muestra la conversión de una matriz de Decimal valores Int64 valores.

    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    long result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt64(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 Int64 type.",
                            value);
       }   
    }                                  
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int64 type.
    //    Converted the Decimal value '-1034.23' to the Int64 value -1034.
    //    Converted the Decimal value '-12' to the Int64 value -12.
    //    Converted the Decimal value '0' to the Int64 value 0.
    //    Converted the Decimal value '147' to the Int64 value 147.
    //    Converted the Decimal value '199.55' to the Int64 value 200.
    //    Converted the Decimal value '9214.16' to the Int64 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int64 type.
    
  • Puede llamar a la Parse o TryParse método para convertir la representación de cadena de un Int64 valor a un Int64. La cadena puede contener dígitos decimales o hexadecimales. En el ejemplo siguiente se muestra la operación de análisis con un decimal y una cadena hexadecimal.

    string string1 = "244681903147";
    try {
       long number1 = Int64.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string1);
    }
    
    string string2 = "F9A3CFF0A";
    try {
       long number2 = Int64.Parse(string2,
                                  System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 64-bit integer.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string2);
    }
    // The example displays the following output:
    //    244681903147
    //    67012198154
    

El Int64 tipo admite operaciones matemáticas estándar como suma, resta, división, multiplicación, negación y negación unaria. Al igual que los tipos enteros, el Int64 tipo también es compatible con el bit a bit AND, OR, XOR, izquierda MAYÚS y operadores de desplazamiento a la derecha.

Puede utilizar los operadores numéricos estándar para comparar dos Int64 valores, o bien puede llamar a la CompareTo o Equals (método).

También puede llamar a los miembros de la Math clase para realizar una amplia gama de operaciones numéricas, como obtener el valor absoluto de un número, calcular el cociente y el resto de la división entero, para determinar el valor máximo o mínimo de dos enteros largos, obtener el signo de un número y redondear un número.

El Int64 tipo proporciona compatibilidad total con cadenas de formato numérico estándar y personalizados. (Para obtener más información, vea Aplicar formato a tipos en .NET Framework, Cadenas con formato numérico estándar, y Cadenas con formato numérico personalizado.)

Para dar formato a un Int64 valor como una cadena entera sin ceros iniciales, puede llamar sin parámetros ToString() método. Al utilizar el especificador de formato "D", también puede incluir un número especificado de ceros a la izquierda en la representación de cadena. Utilizando el especificador de formato "N", puede incluir los separadores de grupo y especificar el número de dígitos decimales que aparecen en la representación de cadena del número. Al utilizar el especificador de formato "X", puede representar un Int64 valor como una cadena hexadecimal. En el ejemplo siguiente se da formato a los elementos de una matriz de Int64 valores de estas cuatro formas.

long[] numbers = { -1403, 0, 169, 1483104 };
foreach (var number in numbers) {
   // Display value using default formatting.
   Console.Write("{0,-8}  -->   ", number.ToString());
   // Display value with 3 digits and leading zeros.
   Console.Write("{0,8:D3}", number);
   // Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number);
   // Display value as hexadecimal.
   Console.Write("{0,18:X2}", number);
   // Display value with eight hexadecimal digits.
   Console.WriteLine("{0,18:X8}", number);
}   
// The example displays the following output:
//    -1403     -->      -1403     -1,403.0  FFFFFFFFFFFFFA85  FFFFFFFFFFFFFA85
//    0         -->        000          0.0                00          00000000
//    169       -->        169        169.0                A9          000000A9
//    1483104   -->    1483104  1,483,104.0            16A160          0016A160

También puede formatear un Int64 valor como un valor binario, octal, decimal o hexadecimal cadena llamando el ToString(Int64, Int32) método y proporcionar la base como segundo parámetro de método. En el ejemplo siguiente se llama a este método para mostrar el archivo binario, octal y representaciones hexadecimales de una matriz de valores enteros.

long[] numbers = { -146, 11043, 2781913 };
foreach (var number in numbers) {
   Console.WriteLine("{0} (Base 10):", number);
   Console.WriteLine("   Binary:  {0}", Convert.ToString(number, 2));
   Console.WriteLine("   Octal:   {0}", Convert.ToString(number, 8));
   Console.WriteLine("   Hex:     {0}\n", Convert.ToString(number, 16));
}
// The example displays the following output:
//    -146 (Base 10):
//       Binary:  1111111111111111111111111111111111111111111111111111111101101110
//       Octal:   1777777777777777777556
//       Hex:     ffffffffffffff6e
//
//    11043 (Base 10):
//       Binary:  10101100100011
//       Octal:   25443
//       Hex:     2b23
//
//    2781913 (Base 10):
//       Binary:  1010100111001011011001
//       Octal:   12471331
//       Hex:     2a72d9

Además de trabajar con enteros largos individuales como valores decimales, puede realizar las operaciones bit a bit con valores enteros largos o trabajar con las representaciones binarias o hexadecimales de valores enteros largos. Int64 los valores se representan en 63 bits, con el bit de sesenta cuarto utiliza como un bit de signo. Los valores positivos se representan mediante la representación de signo y magnitud. Los valores negativos están en dos representación del complemento. Esto es importante tener en cuenta al realizar operaciones bit a bit en Int64 valores o al trabajar con bits individuales. Para realizar la operación de comparación de dos valores no decimales, un valor booleano o numérico, ambos valores deben usar la misma representación.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1

Todos los miembros de este tipo son seguros para subprocesos. Los miembros que aparecen modificar el estado de instancia realmente devuelven una nueva instancia inicializada con el nuevo valor. Como con cualquier otro tipo, leer y escribir en una variable compartida que contiene una instancia de este tipo deben estar protegidos por un bloqueo para garantizar la seguridad para subprocesos.

System_CAPS_cautionPrecaución

Asigne una instancia de este tipo no es segura para subprocesos en todas las plataformas de hardware, porque la representación binaria de la instancia puede ser demasiado grande para la asignación en una única operación atómica.

Volver al principio
Mostrar: