Latest web development tutorials

C # tipo anulável

C # tipo anulável (Nullable)

C # fornece umtipo especial de dados,tipo anulável (tipo anulável), tipo anulável pode representar valores dentro da faixa normal de seu tipo de valor subjacente, além de um valor nulo.

Por exemplo, Nullable <Int32>, pronuncia-se "pode ​​ser vazia Int32", pode ser atribuído a qualquer valor entre-2.147.483.648 a 2.147.483.647, ele também pode ser atribuído um valor nulo. Similar, Nullable <bool> variável pode ser atribuído ao verdadeiro ou falso ou nulo.

Ao lidar com bancos de dados e outros tipos de dados podem conter elementos não atribuídos, especialmente útil para tipos numéricos ou funções booleanas será nulo atribuição. Por exemplo, os campos de banco de dados pode armazenar valores booleanos verdadeiro ou falso, ou que o campo pode ser indefinido.

Declarando um tipoanulável (tipo anulável) a seguinte sintaxe:

<DATA_TYPE> <variable_name> = null ?;

O exemplo a seguir demonstra um uso tipo de dados vazio:

using System;
CalculatorApplication namespace
{
   NullablesAtShow classe
   {
      static void Main (string [] args)
      {
         int num1 = null ?;
         int num2 = 45 ?;
         ? NUM3 Duplo = new double () ?;
         dupla NUM4 = 3,14157 ?;
         
         ? Bool boolval = new bool () ?;

         // Mostrar a Console.WriteLine valor ( "tipo de valor de exibição vazio: {0}, {1}, {2}, {3}" 
                            num1, num2, NUM3, NUM4);
         Console.WriteLine ( "um valor booleano anulável: {0}", boolval);
         Console.ReadLine ();

      }
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

tipo de exibição podem ser valores nulos: 45 ,, 3.14157
Um valor booleano vazio:

operador coalescentes nulo (??)

operador coalescentes nulo é usado para definir o valor padrão tipos nulos e tipos de referência. operador coalescentes nulo para definir um valor predefinido de conversão de tipo, pode impedir o tipo de vazio é nula. coalescentes nulo tipo de operador operando implicitamente convertido para outro tipo de operando pode ser tipos valor vazio (ou não nulos).

Se o primeiro operando é nulo, então o operador retorna o valor do segundo operando, caso contrário, o valor do primeiro operando retorna. O exemplo a seguir ilustra esse ponto:

using System;
CalculatorApplication namespace
{
   NullablesAtShow classe
   {
         
      static void Main (string [] args)
      {
         
         dupla num1 = null ?;
         dupla num2 = 3,14157 ?;
         NUM3 duplas;
         NUM3 = num1 ?? 5,34;      
         Console.WriteLine ( "valor NUM3: {0}", NUM3);
         NUM3 = num2 ?? 5,34;
         Console.WriteLine ( "valor NUM3: {0}", NUM3);
         Console.ReadLine ();

      }
   }
}

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

valor NUM3 de: 5,34
O valor NUM3: 3,14157