Aplicativos do Windows
Recolher sumário
Expandir sumário
Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Estrutura Nullable<T>

 

Representa um tipo de valor que pode receber null.

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

[SerializableAttribute]
public struct Nullable<T>
where T : struct

Parâmetros de Tipo

T

O tipo de valor subjacente do tipo genérico Nullable<T>.

NomeDescrição
System_CAPS_pubmethodNullable<T>(T)

Inicializa uma nova instância da estrutura Nullable<T> para o valor especificado.

NomeDescrição
System_CAPS_pubpropertyHasValue

Obtém um valor que indica se o objeto Nullable<T> atual tem um valor válido de seu tipo subjacente.

System_CAPS_pubpropertyValue

Obtém o valor do objeto Nullable<T> atual se a ele foi atribuído um valor subjacente válido.

NomeDescrição
System_CAPS_pubmethodEquals(Object)

Indica se o objeto Nullable<T> atual é igual a um objeto especificado.(Substitui o ValueType.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Recupera o código hash do objeto retornado pela propriedade Value.(Substitui o ValueType.GetHashCode().)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethodGetValueOrDefault()

Recupera o valor do atual objeto Nullable<T> ou o valor padrão do objeto.

System_CAPS_pubmethodGetValueOrDefault(T)

Recupera o valor do objeto Nullable<T> atual ou o valor padrão especificado.

System_CAPS_pubmethodToString()

Retorna a representação de texto do valor do atual objeto Nullable<T>.(Substitui o ValueType.ToString().)

NomeDescrição
System_CAPS_puboperatorSystem_CAPS_staticExplicit(Nullable<T> to T)

Define uma conversão explícita de uma instância Nullable<T> para seu valor subjacente.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(T to Nullable<T>)

Cria um novo objeto Nullable<T> inicializado para um valor especificado.

Um tipo deve ser anulável se ele pode ser atribuído um valor ou pode ser atribuído null, que significa que o tipo não tem nenhum valor de qualquer tipo. Por padrão, todos os tipos de referência, como String, são anulável, mas o valor de todos os tipos, como Int32, não são.

Em c# e Visual Basic, você marca um tipo de valor anuláveis usando o ? notação após o tipo de valor. Por exemplo, int? em c# ou Integer? no Visual Basic declara um tipo de valor inteiro que pode ser atribuído null.

O Nullable<T> estrutura oferece suporte ao uso de um tipo de valor como um tipo anulável como tipos de referência são nulas por design.

O Nullable classe oferece suporte complementar para o Nullable<T> estrutura. O Nullable classe oferece suporte à obtenção do tipo subjacente de um tipo anulável, e operações de comparação e de igualdade em pares de tipos anuláveis, tipo de valor cujos subjacente não oferece suporte a operações de comparação e de igualdade genéricas.

Os dois membros fundamentais do Nullable<T> estrutura são o HasValue e Value propriedades. Se o HasValue propriedade para um Nullable<T> objeto true, o valor do objeto pode ser acessado com o Value propriedade. Se o HasValue é de propriedade false, o valor do objeto não está definido e uma tentativa de acessar o Value propriedade lança um InvalidOperationException.

Quando um tipo anulável é demarcado, o common language runtime caixas automaticamente o valor subjacente do Nullable<T> do objeto, não o Nullable<T> objeto propriamente dito. Ou seja, se o HasValue é de propriedade true, o conteúdo do Value propriedade é demarcada. Quando o valor subjacente de um tipo anulável estiver não demarcado, o common language runtime cria um novo Nullable<T> estrutura inicializada com o valor subjacente.

Se o HasValue é de propriedade de um tipo anulável false, o resultado de uma operação de conversão boxing é null. Consequentemente, se um tipo anulável box é passado para um método que espera um argumento de objeto, esse método deve estar preparado para lidar com o caso em que o argumento é null. Quando null é desencaixotado em um tipo anulável, o common language runtime cria um novo Nullable<T> estrutura e inicializa o HasValue propriedade false.

Começando com o .NET Framework 4.5.1, você pode incluir um Nullable<T> tipo como um membro de uma estrutura exportado em uma biblioteca de WinMD. Anteriormente, isso não era suportado.

O exemplo de código a seguir define três linhas de uma tabela no banco de dados de exemplo Pubs Microsoft. A tabela contém duas colunas que não permitem valor nulo e duas colunas que permitem valor nulo.

using System;

class Sample 
{
    // Define the "titleAuthor" table of the Microsoft "pubs" database. 
    public struct titleAuthor 
    {
      // Author ID; format ###-##-####
      public string au_id;
      // Title ID; format AA####
      public string title_id;
      // Author ORD is nullable.
      public short? au_ord;
      // Royalty Percent is nullable.
      public int? royaltyper;
    }

    public static void Main() 
    {
      // Declare and initialize the titleAuthor array.
      titleAuthor[] ta = new titleAuthor[3];
      ta[0].au_id = "712-32-1176";
      ta[0].title_id = "PS3333";
      ta[0].au_ord = 1;
      ta[0].royaltyper = 100;

      ta[1].au_id = "213-46-8915";
      ta[1].title_id = "BU1032";
      ta[1].au_ord = null;
      ta[1].royaltyper = null;

      ta[2].au_id = "672-71-3249";
      ta[2].title_id = "TC7777";
      ta[2].au_ord = null;
      ta[2].royaltyper = 40;

      // Display the values of the titleAuthor array elements, and 
      // display a legend.
      Display("Title Authors Table", ta);
      Console.WriteLine("Legend:");
      Console.WriteLine("An Author ORD of -1 means no value is defined.");
      Console.WriteLine("A Royalty % of 0 means no value is defined.");
    }

    // Display the values of the titleAuthor array elements.
    public static void Display(string dspTitle, 
                               titleAuthor[] dspAllTitleAuthors)
    {
      Console.WriteLine("*** {0} ***", dspTitle);
      foreach (titleAuthor dspTA in dspAllTitleAuthors) {
         Console.WriteLine("Author ID ... {0}", dspTA.au_id);
         Console.WriteLine("Title ID .... {0}", dspTA.title_id);
         Console.WriteLine("Author ORD .. {0}", dspTA.au_ord ?? -1);
         Console.WriteLine("Royalty % ... {0}", dspTA.royaltyper ?? 0);
         Console.WriteLine();       
      }
    }
}
// The example displays the following output:
//     *** Title Authors Table ***
//     Author ID ... 712-32-1176
//     Title ID .... PS3333
//     Author ORD .. 1
//     Royalty % ... 100
//     
//     Author ID ... 213-46-8915
//     Title ID .... BU1032
//     Author ORD .. -1
//     Royalty % ... 0
//     
//     Author ID ... 672-71-3249
//     Title ID .... TC7777
//     Author ORD .. -1
//     Royalty % ... 40
//     
//     Legend:
//     An Author ORD of -1 means no value is defined.
//     A Royalty % of 0 means no value is defined.

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar:
© 2018 Microsoft