🔥 Apps, books, system as a service, podcast and more



Coalescing Operador C# ?? null

 

Olá pessoal, meu nome é Mauricio Junior. Estou disposto a mostrar uma nova maneira de utilizar um novo operador C#.NET, cujo tem o objetivo de verificar se o valor é nulo. Caso for nulo o mesmo atribui automaticamente outro valor.


Pode ser usado também para instanciar nova classe, verifica se a mesma já está instanciada; caso não for cria uma nova.


Livros publicados



Requisitos:


- Visual Studio.NET 2005

- Framework 2.0 instalado

- Conhecimento básico

- Linguagem C#.NET

- Service Pack 1 VS.NET Instalado



O bom mesmo é mostrar os exemplos feitos para que você entenda melhor e mais fácil podendo assim praticar em casa e em sua máquina. Criei um projeto do tipo Web.


Classe


Criei uma nova classe em Add new Item... clicando com o botão direito em cima do projeto. O nome da classe é clsClasse.cs. Referência 1.1



public class clsClasse

{

public String recebe()

{

   return "meu nome";

}

public String mostrar()

{

  return "mostrar";

}

}

 

Referência: 1.1


Explicação:

Dentro da classe, criei dois métodos que tornam o tipo String e não recebem parâmetro algum. São métodos simples, que apenas retornam uma string qualquer.

Na classe principal “default.aspx.cs” fiz uma declaração para a classe. Logo depois do public partial class _Default... (Referência 1.2)



clsClasse myClasse;


Referência: 1.2


Modo antigo de instanciar

Antigamente utilizava um “if" para verificar se a classe já havia uma instancia criada, caso não houvesse criava automaticamente. (Referência 1.3)



clsClasse myClasse;


protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

   if(myClasse == null){

       myClasse = new myClasse();

   }

   lblResultado.Text = myClasse.recebe();

}

}

Referência: 1.3

Novo modelo de instanciar

Depois de verificar, caso fosse null criava uma nova instancia e chamava o método publico. Com o novo operador pode ser feito da seguinte maneira: (Referência 1.4)



clsClasse myClasse;

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

myClasse = myClasse ?? new clsClasse();

lblResultado.Text = myClasse.recebe();

}

}

Referência: 1.4

No modo antigo era feito a verificação em 3 linhas, no novo modo é feito em apenas uma linha.


Outros exemplos

Verificando se a string for nula, caso verdadeiro atribui o outro valor.


string mensagem = null

string a = mensagem ?? "junior";


//resultado retornado junior

Referência: 1.5



string mensagem = "mauricio";

string a = mensagem ?? "junior";


//resultado retornado mauricio

Referência: 1.6

Verificando se o valor inteiro é null


int? numero = null;

int var = numero ?? 52;


//resultado retornado 52

Referência 1.7



int? numero = 1;

int var = numero ?? 52;


//resultado retornado 1

Referência: 1.8

No exemplo (1.9) ele já converte o int? automaticamente.


int? numero = 1;

int? var = numero ?? 52;


//resultado retornado 1

Referência: 1.9

Bom, chego ao final do artigo. Espero que vocês tenham gostado e aprendido.

Qualquer dúvida, favor entrar em contato.


Mauricio Junior

Site: www.mauriciojunior.org

Comunidade: www.aspneti.com ou www.aspneti.com.br


Sign up to our newsletter

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.

Top