Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Estrutura Int32

Representa um inteiro com sinal de 32 bits.

Namespace:  System
Assembly:  mscorlib (em mscorlib.dll)

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

O tipo Int32 expõe os membros a seguir.

  NomeDescrição
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreCompareTo(Int32)Compara esta instância em um número inteiro com sinal de 32 bits especificado e retorna uma indicação de seus valores relacionados.
Método públicoCompatível com o XNA FrameworkCompareTo(Object)Compara essa instância com um objeto especificado e retorna uma indicação dos valores relativos.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreEquals(Int32) Retorna um valor indicando se essa instância é igual a um valor Int32.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreEquals(Object)Retorna um valor que indica se essa instância é igual a um objeto especificado. (Substitui ValueType.Equals(Object).)
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreGetHashCode Retorna o hash code para essa instância. (Substitui ValueType.GetHashCode().)
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoCompatível com o XNA FrameworkGetTypeCodeRetorna TypeCode para o tipo de valor Int32.
Método públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreParse(String)Converte a representação da cadeia de caracteres de um número no inteiro assinado de 32 bits equivalente.
Método públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreParse(String, NumberStyles)Converte a representação de cadeia de caracteres de um número em um estilo especificado para seu equivalente de um inteiro de 32 bits assinado.
Método públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreParse(String, IFormatProvider)Converte a representação de cadeia de caracteres de um número em um formato específico a cultura especificado para seu equivalente de um inteiro de 32 bits assinado.
Método públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreParse(String, NumberStyles, IFormatProvider)Converte a representação de cadeia de caracteres de um número em um estilo especificado e a cultura de formato específico para seu equivalente de um inteiro de 32 bits assinado.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreToString()Converte o valor numérico dessa instância na representação da cadeia de caracteres equivalente. (Substitui ValueType.ToString().)
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreToString(IFormatProvider)Converte o valor numérico dessa instância na representação da cadeia de caracteres equivalente usando as informações de formato específicas da cultura especificada.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreToString(String)Converte o valor numérico dessa instância na representação da cadeia de caracteres equivalente usando o formato especificado.
Método públicoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreToString(String, IFormatProvider)Converte o valor numérico dessa instância na representação da cadeia de caracteres equivalente usando o formato especificado e as informações de formato específicas da cultura especificada.
Método públicoMembro estáticoCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreTryParse(String, Int32)Converte a representação da cadeia de caracteres de um número no inteiro assinado de 32 bits equivalente. Um valor de retorno indica se a conversão for bem-sucedida.
Método públicoMembro estáticoCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreTryParse(String, NumberStyles, IFormatProvider, Int32)Converte a representação de cadeia de caracteres de um número em um estilo especificado e a cultura de formato específico para seu equivalente de um inteiro de 32 bits assinado. Um valor de retorno indica se a conversão for bem-sucedida.
Superior

  NomeDescrição
Campo públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreMaxValueRepresenta o maior valor possível de Int32. Este campo é constante.
Campo públicoMembro estáticoCompatível com o XNA FrameworkCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreMinValueRepresenta o valor possível o menor de Int32. Este campo é constante.
Superior

  NomeDescrição
Implementação explícita da interfaceMétodo particularCom suporte por Biblioteca de Classes PortátilCom suporte em .NET para aplicativos da Windows StoreIComparable.CompareToCompara a instância atual com outro objeto do mesmo tipo e retorna um inteiro que indica se a instância atual precede, segue ou ocorre na mesma posição da ordem de classificação do outro objeto.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToBooleanInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToBoolean.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToByteInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToByte.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToCharInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToChar.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToDateTimeInfraestrutura. Esta conversão não é suportada. A tentativa de usar esse método lança um InvalidCastException.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToDecimalInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToDecimal.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToDoubleInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToDouble.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToInt16Infraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToInt16.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToInt32Infraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToInt32.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToInt64Infraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToInt64.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToSByteInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToSByte.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToSingleInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToSingle.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToTypeInfraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToType.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToUInt16Infraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToUInt16.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToUInt32Infraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToUInt32.
Implementação explícita da interfaceMétodo particularCompatível com o XNA FrameworkIConvertible.ToUInt64Infraestrutura. Para obter uma descrição desse membro, consulte IConvertible.ToUInt64.
Superior

Int32 é um tipo de valor imutável que representa inteiros com sinal com valores que variam de 2.147.483.648 negativo (que é representado pela constante de Int32.MinValue ) através de positivo 2.147.483.647 (que é representado pela constante de Int32.MaxValue . O .NET Framework também inclui um tipo de valor de inteiro não assinado de 32 bits, UInt32, que representa os valores que variam de 0 a 4.294.967.295.

Criando uma instância de um valor Int32

Você pode instanciar um valor Int32 de várias maneiras:

  • Você pode declarar uma variável de Int32 e atribua a ela um valor literal inteiro que está dentro do intervalo do tipo de dados Int32 . O exemplo a seguir declara duas variáveis de Int32 e atribui valores dessa maneira.

    
    int number1 = 64301;
    int number2 = 25548612;
    
    
    
  • Você pode atribuir o valor do tipo inteiro cujo intervalo é um subconjunto do tipo Int32. Essa é uma conversão da que não requer um operador cast em C# ou um método de conversão no Visual Basic.

    
    sbyte value1 = 124;
    short value2 = 1618;
    
    int number1 = value1;
    int number2 = value2;
    
    
    
  • Você pode atribuir o valor de um tipo numérico que ultrapasse o intervalo do tipo Int32. Esta é uma conversão de restrição, isso requer um operador de conversão em C# e um método de conversão em Visual Basic se OptionStrict está ativo. Se o valor numérico é um valor Single, Double, ou Decimal que inclui um componente fracionário, a manipulação de sua parte fracionária depende o compilador executar a conversão. O exemplo a seguir executa conversões refinar para atribuir vários valores numéricos a variáveis de Int32 .

    
    long lNumber = 163245617;
    try {
       int number1 = (int) lNumber;
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", lNumber);
    }
    
    double dbl2 = 35901.997;
    try {
       int number2 = (int) dbl2;
       Console.WriteLine(number2);
    }   
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", dbl2);
    }
    
    BigInteger bigNumber = 132451;
    try {
       int number3 = (int) bigNumber;
       Console.WriteLine(number3);
    }
    catch (OverflowException) {
       Console.WriteLine("{0} is out of range of an Int32.", bigNumber);
    }    
    // The example displays the following output:
    //       163245617
    //       35902
    //       132451
    
    
    
  • Você pode chamar um método da classe de Convert para converter qualquer tipo suporte a um valor de Int32 . Isso é possível porque Int32 oferece suporte à interface IConvertible. O exemplo a seguir ilustra a conversão de uma matriz de valores Decimal para valores Int32.

    
    decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                        199.55m, 9214.16m, Decimal.MaxValue };
    int result;
    
    foreach (decimal value in values)
    {
       try {
          result = Convert.ToInt32(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 Int32 type.",
                            value);
       }   
    }                                  
    // The example displays the following output:
    //    -79228162514264337593543950335 is outside the range of the Int32 type.
    //    Converted the Decimal value '-1034.23' to the Int32 value -1034.
    //    Converted the Decimal value '-12' to the Int32 value -12.
    //    Converted the Decimal value '0' to the Int32 value 0.
    //    Converted the Decimal value '147' to the Int32 value 147.
    //    Converted the Decimal value '199.55' to the Int32 value 200.
    //    Converted the Decimal value '9214.16' to the Int32 value 9214.
    //    79228162514264337593543950335 is outside the range of the Int32 type.
    
    
    
  • Você pode chamar o método Parse ou TryParse para converter a representação de seqüência de caracteres de um valor Int32 para um Int32. A cadeia de caracteres pode conter dígitos decimais ou hexadecimais. O exemplo a seguir ilustra a operação de análise usando uma cadeia de caracteres decimal e hexadecimal.

    
    string string1 = "244681";
    try {
       int number1 = Int32.Parse(string1);
       Console.WriteLine(number1);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string1);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string1);
    }
    
    string string2 = "F9A3C";
    try {
       int number2 = Int32.Parse(string2,
                                System.Globalization.NumberStyles.HexNumber);
       Console.WriteLine(number2);
    }
    catch (OverflowException) {
       Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string2);
    }
    catch (FormatException) {
       Console.WriteLine("The format of '{0}' is invalid.", string2);
    }
    // The example displays the following output:
    //       244681
    //       1022524
    
    
    

Realizando operações em valores Int32

O tipo de Int32 oferece suporte a operações matemáticas padrão como adição, subtração, a divisão, multiplicação, a negação, e o operador unário. Como outros tipos integrais, o tipo Int32 também suporta o bit a bit AND, OR, XOR, esquerda shift e operadores de deslocamento à direita.

Você pode usar os operadores numéricos padrão para comparar dois valores Int32 ou você pode chamar o método CompareTo ou Equals.

Também é possível chamar os membros da classe Math para realizar uma ampla variedade de operações numéricas, inclusive obter o valor absoluto de um número, calcular o quociente e o restante da divisão integral, determinando o valor máximo ou mínimo de dois inteiros, obter o sinal de um número e arredondar um número.

Representando um Int32 como uma cadeia de caracteres

O tipo de Int32 fornece suporte completo ao padrão e cadeias de caracteres de formatação numérica personalizados. (Para obter mais informações, consulte Formatando tipos, Cadeias de caracteres de formato numérico padrão, e Cadeias de caracteres de formato numérico personalizado.)

Para formatar um valor Int32 como uma cadeia integral sem zeros à esquerda, você pode chamar os parâmetros do ToString(). Usando o especificador do formato “D”, você também pode incluir um número especificado de zeros à esquerda na representação de cadeia de caracteres. Usando o especificador do formato “N”, você pode incluir separadores de grupo e especifique o número de dígitos decimais para aparecer na representação de cadeia de caracteres do número. Usando o especificador de formato "X", representam um valor Int32 valor como uma cadeia de caracteres hexadecimal. O exemplo a seguir formata os elementos em uma matriz de valores Int32 dessas quatro formas.


int[] numbers = { -1403, 0, 169, 1483104 };
foreach (int 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,11:D3}", number);
   // Display value with 1 decimal digit.
   Console.Write("{0,13:N1}", number);
   // Display value as hexadecimal.
   Console.Write("{0,12:X2}", number);
   // Display value with eight hexadecimal digits.
   Console.WriteLine("{0,14:X8}", number);
}   
// The example displays the following output:
//    -1403     -->         -1403     -1,403.0    FFFFFA85      FFFFFA85
//    0         -->           000          0.0          00      00000000
//    169       -->           169        169.0          A9      000000A9
//    1483104   -->       1483104  1,483,104.0      16A160      0016A160


Você também pode formatar um valor Int32 como binário, octal, decimal ou hexadecimal seqüência de caracteres chamando o método ToString(Int32, Int32) e fornecer a base como segundo parâmetro do método. O exemplo a seguir chama esse método para exibir as representações binários, octais, e hexadecimais de uma matriz de valores inteiros.


int[] numbers = { -146, 11043, 2781913 };
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                  "Value", "Binary", "Octal", "Hex");
foreach (int number in numbers) {
   Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", 
                     number, Convert.ToString(number, 2), 
                     Convert.ToString(number, 8), 
                     Convert.ToString(number, 16));
}      
// The example displays the following output:
//       Value                             Binary         Octal          Hex
//        -146   11111111111111111111111101101110   37777777556     ffffff6e
//       11043                     10101100100011         25443         2b23
//     2781913             1010100111001011011001      12471331       2a72d9


Trabalhando com valores inteiros de 32 bits não decimais

Além de trabalhar com inteiros individuais como valores decimais, talvez você queira executar operações bit a bit com os valores inteiros, ou o trabalho com as representações hexadecimais binários ou de valores inteiros. Valores Int32 são representados em 31 bits, com o bit de trinta segundos usado como um bit de sinal. Valores positivos são representados usando a representação de sinal-e- valor. Os valores negativos estão na representação de complemento de two. Isso é importante ter em mente quando executar operações bit a bit em valores Int32 ou quando você trabalha com bits individuais. Para executar um numérico, booleano ou operação de comparação entre quaisquer dois valores não decimais, ambos os valores devem usar a mesma representação.

.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

.NET para aplicativos do Windows Phone

Com suporte em: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Todos os membros desse tipo são segmento seguro. Os membros que aparecem para modificar o estado da instância, na verdade, retornam uma nova instância inicializada com o novo valor. Como com qualquer outro tipo, leitura e gravação a uma variável compartilhada que contém uma instância desse tipo deve ser protegida por um bloqueio para garantir segurança de segmentos.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft