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