Compartilhar via


Tipos de Dados São Tipos .NET Framework

Cada tipo de dados elementar no Visual Basic oferece suporte para uma estrutura ou uma classe no namespace System .O compilador usa cada palavra-chave de tipo de dados como um alias para a estrutura subjacente ou classe.Por exemplo, declarar uma variável com a palavra reservada Byte é o mesmo que declará-la com o nome System.Byte de estrutura totalmente qualificada.

Estruturas e Classes Adicionais Estão Disponíveis no .NET Framework

O Common Language Runtime (CLR) também suporta estruturas e classes que Visual Basic não fornece.Por exemplo, a estrutura System.Guid fornece um identificador globalmente exclusivo (GUID), e a classe System.TimeZone suporta um zona de tempo.Você pode usar esses tipos para declarar variáveis e constantes, e você pode acessar os métodos que .NET Framework implementa sobre esses tipos.No entanto, Visual Basic não oferece suporte a operações ou conversões de tipo que envolvem tipos que ele não fornece.

Tipos de valores e tipos de referências

No .NET Framework,uma estrutura é um tipo de valor e uma classe é um tipo de referência .Por esse motivo, tipos, como Char e Integer são implementados por estruturas .NET Framework, enquanto tipos de referncia como Object e String são suportados pelas classes .NET Framework.Observe que cada matriz é um tipo de referência, mesmo que seus membros sejam tipos de valor, e que cada estrutura é um tipo de valor, mesmo se ela tiver membros de tipo de referência.

Desde que cada tipo de referência represente uma classe base .NET Framework, você deve usar a palavra-chave Novo (Visual Basic) quando fizer a inicialização.A instrução a seguir inicializa uma matriz.

Dim totals() As Single = New Single(8) {}

Você também pode usar a palavra-chave New para inicializar um tipo de valor.Isso é especialmente útil se o tipo tem um construtor que aceita parâmetros.Um exemplo disso é o construtor Decimal(Int32, Int32, Int32, Boolean, Byte), que cria um novo valor Decimal a partir das partes fornecidas.

Tipos de Dados Têm Membros

Como eles são suportados pelas estruturas e classes .NET Framework, tipos de dados Visual Basic têm membros .Esses membros incluem os construtores, métodos, propriedades e campos.Você pode acessar os membros (exceto os construtores) em uma variável da mesma maneira que acessa os métodos e propriedades em um objeto.

O seguinte exemplo usa o Year, Month e as propriedades Day e o método DaysInMonth da estrutura System.DateTime para determinar quantos dias permanecem no mês atual.

Dim current As Date = Now
Dim daysRemaining As Integer
daysRemaining = Date.DaysInMonth(current.Year, current.Month) - current.Day

Observe que você deve qualificar uma referência a um membro de tipo de dados com um o nome do tipo (Date) ou o nome de uma variável declarado para ser do mesmo tipo (current).

Exemplos de Membros Tipo de Dados

Os seguintes protótipos de código ilustram algumas dos métodos, propriedades e campos úteis nos tipos de dados.

<Char>.IsDigit() ' Returns True if character is a numeric digit.

<Char>.IsLower() ' Returns True if character is a lowercase letter.

<Date>.IsLeapYear() ' Returns True if current year is a leap year.

<Date>.ToUniversalTime() ' Returns local date/time converted to UTC.

<Double>.IsInfinity() ' Returns True if contents represent infinity.

<Double>.IsNaN() ' Returns True if contents are not a number (0/0).

<Long>.MaxValue ' Constant representing largest positive Int64 value.

<Object>.GetType() ' Returns Type object representing type of <Object>.

<Object>.GetType().GetTypeCode() ' Returns type code of <Object>.

<String>.Chars(<index>) ' Character at position <index> of <String>.

<String>.Length ' Number of characters currently in <String>.

Todos os tipos numéricos, incluindo Byte e Char, expoem os campos públicos MaxValue e MinValue, que podem ser muito útil ao lidar com esses tipos.

Equivalência de Membros Tipo de Dados Não É Garantida

O .NET Framework também fornece vários métodos em tipos de dados que podem parecer ser equivalentes a funções e palavras-chaves Visual Basic.No entanto, nem sempre Visual Basic usar os métodos .NET Framework para realizar a conversão ou outras operações, e os resultados não são sempre idênticos.

Por exemplo, o método ToSingle executa o mesmo tipo de ação que a expressão CSng palavra-chave em uma Decimal.Mas CSng não é garantida para usar System. dataType .ToSingle,e, portanto, não se garante que os resultados sejam iguais em condições marginais ou de limite.

Geralmente, você deve usar os elementos de programação do Visual Basic, pois são mais fáceis de usar e tornam seu código mais legível.Em alguns casos, recursos adicionais podem se tornar obrigatórios, o que é fornecido por um método .NET Framework.Para obter um exemplo desse, consulte "Operador MOD Não Retorna Resultado Preciso" em Solucionando problemas de Tipos de Dados.

Consulte também

Conceitos

Tipos de valores e tipos de referências

Estruturas e Classes

Referência

Boolean

Byte

Char

DateTime

Decimal

Double

Guid

TimeZone